我有这个疑问是否可以优化查询获取表
SELECT id, alias, parent FROM `content`
所有行是否有办法来优化这个查询,从而“型”比“全部”
不同ID - 初级,独特
ID - 索引
父 - 索引
别名 - 指数
....
请注意,该查询几乎不会返回超过1500行。
谢谢
我有这个疑问是否可以优化查询获取表
SELECT id, alias, parent FROM `content`
所有行是否有办法来优化这个查询,从而“型”比“全部”
不同ID - 初级,独特
ID - 索引
父 - 索引
别名 - 指数
....
请注意,该查询几乎不会返回超过1500行。
谢谢
您的查询获取所有的行,所以顾名思义它会报告“ALL”作为EXPLAIN报告的查询类型。唯一的另一种可能性是“索引”查询类型,即索引扫描,用于访问索引中的每个条目。但这几乎与桌面扫描相同。
有一种说法是,最快的SQL查询是根本不运行的,因为您以其他方式获取数据。
例如,如果数据在某种类型的缓存中。如果您的数据不超过1500行,并且不会频繁更改,那么它可能是放入内存的理想选择。然后,只有在缓存的数据丢失时才运行SQL查询。
有一对夫妇的共同选择:
的MySQL query cache是保持在MySQL服务器的内存缓存,并清除时自动在表中的数据发生变化。
Memcached是一个受欢迎的内存中键值存储器,这些存储器也是使用MySQL的应用程序频繁使用的。速度非常快。另一种选择是Redis,它与此类似,但也受磁盘存储的支持。
转OFF
log_queries_not_using_indexes
;它像你得到的红鲱鱼一样混乱了慢日志。
0.00XX
秒 - 够好不用担心。
ALL
实际上最适合从表格的“所有”行中获取多个列。
据我了解的问题 - 没有。但是在使用这个查询时优化是可能的:查询数据的下一个生命是什么? –
您可以通过删除一些行来优化它:p – Drew
Jacek - 不确定你的意思 – orbitory