SELECT * FROM A t LEFT JOIN B f ON t.fid=f.fid ORDER BY dateline DESC LIMIT 10;当数据很多的时候,速度就非常慢了,我觉得降序排列之后,选择10条记录,应该很快啊,为什么呢?网上有说建立索引,请问是针对需要关联的字段建立索引还是? 这个示例的话,是在A表和B表的fid字段分别建立索引是不是?另外如果不建立索引的话,有什么优化的SQL语句查询,请指教。
解决方案 »
- READS SQL DATA 是什么意思??
- 请问关于mysql导入mssq 其中的longtext类型怎么转换啊
- Postgresql存储过程问题(关于变量表名)
- 求 插入1亿条数据的最高效方法
- 问一个问题:如何把SQL的一个表的各个行的某一列进行比较
- 为什么我在2000下装MYSQL时老是报这个错,我错在那里啊,请大家指正,谢谢!!
- 正在做postgresql7.4的中文文档chm版,有人要波?
- 怎样能列出mysql中的数据库?
- 能否告诉我一些在DOS下操作MYSQL的命令啊!!急急!!!
- mysql 插入语句中为什么会出现这个错误?
- mysql自动增长的问题,如何恢复从1开始
- mysql Communications link failure-各位大侠帮我看看这是什么问题啊,超级郁闷的
A表
id fid name dateline B表
fid name dateline
使用这两个没有什么区别,还是很慢
SELECT * FROM A t LEFT JOIN B f ON t.fid=f.fid ORDER BY dateline DESC LIMIT 10;
SELECT * FROM A t LEFT JOIN B f ON t.fid=f.fid ORDER BY t.dateline DESC LIMIT 10;
是ORDER BY dateline引起的效率问题不好意思,那个B表没有 dateline