mysql的索引有哪些类型
MySQL索引有哪些类型MySQL目前主要有以下几种索引类型:普通索引:最基本的索引,没有任何限制条件。唯一索引:与普通索引类似,但要求索引列的值唯一,不允许重复。主键索引:是一种特殊的唯一索引,不允...
2024.11.12下面介绍了MySQL数据库软件的一些重要特性。关于当前特性和即将提供特性的更多信息请持续关注后期文章。
内部构件和可移植性使用C和C++编写 用众多不同的编译器进行了测试 能够工作在众多不同的平台上。使用GNU Automake、Autoconf和Libtool进行移植。提供了用于C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl的API。 采用核心线程的完全多线程 如果有多个CPU,它能方便地使用这些CPU。提供了事务性和非事务性存储引擎。 使用了极快的“B树”磁盘表(MyISAM)和索引压缩。 添加另一个存储引擎相对简单。如果打算为内部数据库添加一个SQL接口,该特性十分有用。极快的基于线程的内存分配系统。通过使用优化的“单扫描多连接”,能实现极快的连接。存储器中的哈希表用作临时表。 SQL函数是使用高度优化的类库实现的,运行很快。通常,在完成查询初始化后,不存在存储器分配。采用Purify(商业内存溢出检测器)以及GPL工具Valgrind(http://developer.kde.org/~sewardj/)测试了MySQL代码。服务器可作为单独程序运行在客户端/服务器联网环境下。它也可作为库提供,可嵌入(链接)到独立的应用程序中。这类应用程序可单独使用,也能在网络环境下使用。列类型:
众多列类型: 带符号/无符号整数,1、2、3、4、8字节长,FLOAT,DOUBLE,char,VARCHAR,TEXT,BLOB,DATE,TIME,DATETIME,TIMESTAMP,YEAR,SET,ENUM,以及OpenGIS空间类型。
定长和可变长度记录。
语句和函数:
在select和查询的WHERE子句中,提供完整的操作符和函数支持。例如:
mysql> select concat(first_name, ‘ ‘, last_name)
-> FROM citizen
-> WHERE income/dependents > 10000 AND age > 30;
对SQL GROUP BY和ORDER BY子句的全面支持。支持聚合函数(COUNT(), COUNT(DISTINCT ...),AVG(),STD(),SUM(),MAX(),MIN()和GROUP_CONCAT())。
支持LEFT OUTER JOIN和RIGHT OUTER JOIN,采用标准的SQL和ODBC语法。
按照标准SQL的要求,支持表别名和列别名。
delete、insert、replace和update返回更改(影响)的行数。连接到服务器时,可通过设置标志返回匹配的行数。
MySQL的SHOW命令可用于检索关于数据库、数据库引擎、表和索引的信息。EXPLAIN命令可用于确定优化器处理查询的方式。
函数名与表名或列名不冲突。例如,ABS是有效的列名。唯一的限制在于,调用函数时,函数名和随后的符号“(”之间不得有空格。请参见9.6 “MySQL中保留字的处理”。
可以将不同数据库的表混合在相同的查询中(就像MySQL 3.22中那样)。
安全:
十分灵活和安全的权限和密码系统,允许基于主机的验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码安全。
可伸缩性和限制:
处理大型数据库: 我们使用了MySQL服务器和含5千万条记录的数据库。我们还听说,有些用户将MySQL用于含60000个表和约50亿行的数据库。
每个表可支持高达64条索引(在MySQL 4.1.2之前为32条)。每条索引可由1~16个列或列元素组成。最大索引宽度为1000字节(在MySQL 4.1.2之前为500)。索引可使用具备char、VARCHAR、BLOB或TEXT列类型的列前缀。
连接性:
在任何平台上,客户端可使用TCP/IP协议连接到MySQL服务器。在Windows系统的NT系列中(NT、2000、XP或2003),客户端可使用命名管道进行连接。在Unix系统中,客户端可使用Unix域套接字文件建立连接。
在MySQL 4.1和更高的版本中,如果是以“--shared-memory”选项开始,Windows服务器还支持共享内存连接。客户端可使用“--protocol=memory”选项,通过共享内存建立连接。
Connector/ODBC (MyODBC)接口为使用ODBC(开放式数据库连接性)连接的客户端程序提供了MySQL支持。例如,可以使用MS Access连接到你的MySQL服务器。客户端可运行在Windows或Unix平台上。提供了MyODBC源。支持所有的ODBC 2.5函数,以及众多其他函数。
Connector/J接口为使用JDBC连接的Java客户端程序提供了MySQL支持。客户端可运行在Windows或Unix平台上。提供了Connector/J源码。。
本地化:
服务器可使用多种语言向客户端提供错误消息。
对数种不同字符集的全面支持,包括latin1 (cp1252)、german、big5、ujis等。例如,在表名和列名中允许使用斯堪的纳维亚字符‘å’、‘ä’和‘ö’。从MySQL 4.1开始,提供了Unicode支持。
所有数据均以所选的字符集保存。正常字符串列的比较不区分大小写。
分类是根据所选的字符集(默认情况下,使用瑞典校对)进行的。启动MySQL服务器时,可更改该项设置。MySQL服务器支持众多不同的字符集,这类字符集可在编译时和运行时指定。
客户端和工具:
MySQL服务器提供了对SQL语句的内部支持,可用于检查、优化和修复表。通过mysqlcheck客户端,可在命令行上使用这类语句。MySQL还包括myisamchk,这是一种很快的命令行实用工具,可用于在MyISAM表上执行这类操作。
对于所有MySQL程序,均能通过“-help”或“-?”选项调用,以获取联机帮助信息。
更多精彩内容,关注小伍老师
MySQL索引有哪些类型MySQL目前主要有以下几种索引类型:普通索引:最基本的索引,没有任何限制条件。唯一索引:与普通索引类似,但要求索引列的值唯一,不允许重复。主键索引:是一种特殊的唯一索引,不允...
2024.11.12日期函数1.作用主要用于查询日期及对日期数据进行进一步处理2.主要函数函数名称格式说明curdate()curdate()查询当前日期curtime()curtime()查询当前时间now()now(...
2024.11.12hello 各位小伙伴大家好,我是小栈君,这期我们分享关于mysql中间件的研究,也就是数据层的读写分离和负载均衡,希望能够在实际的应用中能够帮助到各位小伙伴。下期我们将继续分享go语言的系列讲解,以...
2024.11.15MySQL性能优化可以从以下几个方面进行:1. 数据库设计优化:合理设计数据库表结构,避免冗余字段,使用合适的数据类型,为常用查询字段添加索引等。2. SQL语句优化:编写高效的SQL语句,避免全表扫...
2024.11.151.应用功能上分主键索引一张表只能有一个主键索引,不允许重复、不允许为 NULL。唯一索引数据列不允许重复,允许为 NULL 值,一张表可有多个唯一索引,索引列的值必须唯一,但允许有空值。如果是组合索...
2024.11.15