总结一下索引失效情况:leihen的博客
针对于某些长字符串,可以通过前缀索引优化。
1 | /*查询表s1中name列的前缀字符串出现次数*/ |
SQL语句在数据库中到底是如何运行的?
系统从磁盘读取数据到内存时是以磁盘块(block)为基本单位的,位于同一个磁盘块中的数据会被一次性读取出来,而不是需要什么取什么。
InnoDB存储引擎有页(Page)的概念,页是磁盘管理的最小单位。InnoDB存储引擎中默认每个页的大小为16KB,通过参数Innodb_page_size将页的大小设置为4K、8K、16K,在MySQL中可以通过如下命令查看页的大小。
1 | show variables like 'innodb_page_size' |