收藏本站

mysql 索引优化实践

环境:Mysql 5.6

表:35个字段

当在字段建立索引后,使用 like **% 时,第一次查询不会使用索引,之后才会使用索引。


对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分有效。下面用几个例子对比查询条件的不同对性能影响.


create table test(

a int,

b int,

c int,...

阅读全文>>

mysql 不同引擎索引异同详解


聚簇索引(Clustered Indexes)

聚簇索引保证关键字的值相近的元组存储的物理位置也相同(所以字符串类型不宜建立聚簇索 引,特别是随机字符串,会使得系统进行大量的移动操作),且一个表只能有一个聚簇索引。因为由存储引擎实现索引,所以,并不是所有的引擎都支持聚簇索引。 目前,只有solidDB和InnoDB支持。
聚簇索引的结构大致如下:

 

 注: 叶子页面包含完整的元组,而内节点页面仅包含索引的列(索引的列为整型)。一些DBMS允许用户指定聚簇索引,但是MySQL的存储引擎到目前为止都不支 持。InnoDB对主键建立聚簇索引。如果...

阅读全文>>

mysql数据库优化小结

    因为博主项目中使用Mysql 较多,所以该文总结的适用于Mysql ,其他数据库也可参考。

字段的设计优化:

(1)、越小的数据类型通常更好:越小的数据类型通常在磁盘、内存和CPU缓存中都需要更少的空间,处理起来更快。
(2)、简单的数据类型更好:整型数据比起字符,处理开销更小,因为字符串的比较更复杂。在MySQL中,应该用内置的日期和时间数据类型,而不是用字符串来存储时间;以及用整型数据类型存储IP地址。
(3)、尽量避免NULL:应该指定列为NOT NULL,除非你想存储NULL。在MySQL中,含有空值的列很难进行查询优化,因为它们使...

阅读全文>>

SQL Error: 1064, SQLState: 42000错误原因

这个错误耽搁好多时间。

保留字被引起来后可以用作识别符。如果在表中使用这些会报1064,42000错误。

ADD ALL ALTER
ANALYZE AND AS
ASC ASENSITIVE BEFORE
BETWEEN BIGINT BINARY
BLOB BOTH BY
CALL...

阅读全文>>

MYSQL 设定自增ID的初始值

MYSQL:设定自增ID的起始值

修改表的自增字段的起始ID值
ALTER TABLE table_name AUTO_INCREMENT=1000

阅读全文>>