摘要:
表的读取顺序读取操作的类型可用索引,实际使用的索引表之间的引用每张表多少行被优化器查询索引的长度EXPLAIN字段解释:ØTable:显示这一行的数据是关于哪张表的Øpossible_keys:显示可能应用在这张表中的索引。如果为空,没有可能的索引。可以为相关的域从WHERE语句中选择一个合适的语... 阅读全文
摘要:
Explain查询:rows,定位性能瓶颈。只需要一行数据时,使用LIMIT1.在搜索字段上建立索引。使用ENUM而非VARCHAR。选择区分度高的列作为索引。采用扩展索引,而不是新建索引。慢查询日志:log-slow-queries,mysqldumpslow工具。避免select *尽可能使用... 阅读全文
摘要:
http://www.searchdatabase.com.cn/showcontent_58391.htm【为查询缓存优化你的查询】像 NOW() 和 RAND() 或是其它的诸如此类的SQL函数都不会开启查询缓存,因为这些函数的返回是会不定的易变的。所以,你所需要的就是用一个变量来代替MySQ... 阅读全文
摘要:
目录1.行锁:索引加锁2.意向锁3.间隙锁4.MVCC机制行锁InnoDB通过多版本并发控制MVCC来支持事务InnoDB的设计是为了在处理大数据量的时候得到最好的性能。InnoDB存储引擎维护了一个它自己的缓冲区,用来存储数据和索引。InnoDB将表和索引存储在一个表空间中,这个表空间可能由不同... 阅读全文
摘要:
选择合适的索引列顺序。B-Tree数据结构InnoDB使用B+树。InnoDB根据主键引用被索引的行。为什么使用B+树1.文件很大,不可能全部存储在内存中,故要存储到磁盘上2.索引的结构组织要尽量减少查找过程中磁盘I/O的存取次数(为什么使用B-/+Tree,还跟磁盘存取原理有关。)3.局部性原理... 阅读全文