日期:2014-05-16  浏览次数:20745 次

关于数据库数据查询效率
语句1:
SELECT count(*) FROM md_attr AS attr JOIN md_value AS val ON attr.iid = val.iattr and val.ioid=22 AND val.sotp='md_obj' AND attr.imodal= 12

语句2:
SELECT count(*) FROM md_attr AS attr JOIN md_value AS val ON attr.iid = val.iattr WHERE val.ioid=22 AND val.sotp='md_obj' AND attr.imodal= 12

这两条语句从效率上来看有区别么?为什么 ?

个人一直认为第一条语句的效率要高过第二条数据。
实际情况:
postgresql 数据库中, md_attr 数据量:140W, md_value 数据量:70W
查询结果都是 4096条数据, 时间相差无几?
难道这两条语句的效率是一样的? 还是我的数据量不够大,体现不出来?
求赐教!
分不多,感谢解惑了

------解决方案--------------------
看一下執行計劃,或者生成trace文件看一下解析/執行效率。
------解决方案--------------------
些2条语句的执行计划完全一样,所以不会有任何差别。