select 字段 from 与select * from速度差很多有关问题

select 字段 from 与select * from速度差很多问题

大家好,我有个sql语句,一个select * 用了0.2秒, 一个是select 具体字段,居然用了7秒多,有人知道原因么?

第一个语句

SQL code


  

SELECT * 
FROM fa_product a
LEFT JOIN fa_view_borrow b ON a.id = b.fid
LEFT JOIN fa_return c ON b.id = c.bid
LIMIT 0 , 50

第二个语句

SQL code


  
SELECT a.id id, a.cname cname, a.pname pname, a.cno cno, a.csort csort, a.cxulie cxulie, a.pno pno, a.cperson cperson, a.qty qty, a.cstatus cstatus, a.bd_version bd_version, a.cnote cnote, a.addad4 addad4, a.addip addip, a.addtime addtime, a.lastupdatead4 lastupdatead4, a.lastupdateip lastupdateip, a.lastupdatetime lastupdatetime, a.boardstatus boardstatus, a.firmware_version firmware_version, a.bsp bsp, a.epld epld, a.sad4 sad4, a.sip sip, a.stime stime, a.project project, a.uboot uboot, a.bd_version bd_version, b.place place, b.cname bname
FROM fa_product a
LEFT JOIN fa_view_borrow b ON a.id = b.fid
LEFT JOIN fa_return c ON b.id = c.bid
ORDER BY id DESC 
LIMIT 0 , 50

大家帮忙看下原因会是哪些呢?




一般来讲select 具体字段要快一些,你的情况确实确实比较奇怪,

确认是这样吗?

怎样运行的,MYSQL什么版本,加入SQL_NO_CACHE 

SELECT SQL_NO_CACHE * from ….

看看结果




个人感觉应该是你第二个查询排序了的原因




你可以explain下




ORDER BY id DESC 

区别在于这一句吗




指定具体字段速度应该更快些




为fa_productd的id字段建立索引。




INDEX?




索引如何

在fa_product上建立ID索引




才多少记录不可能这么慢。

a id

bid

fid

这些都是主键吧?

表用的字符集都一样吗?

方便的话贴表的结构出来吧。




实行

EXPLAIN 你的 sql 指令

贴出结果,帮你分析

想你这样瞎猜是没有用的




fid、BID上建立索引没有

select 字段 from 与select * from速度差很多有关问题

相关文章:

你感兴趣的文章:

标签云: