select-mysql- sql查询 效率正常吗

问题描述

mysql- sql查询 效率正常吗
以下是sql:

 SELECT u.idu.orgcodeu.nameu.slaveuserCOUNT(*)               FROM wx_xx_user u               INNER JOIN wx_xx_wlzy w ON u.id=w.publisherid              INNER JOIN wx_xx_wlzycomment wc ON w.id = wc.wlzyid                 INNER JOIN wx_xx_org org ON u.orgcode=org.orgcode              WHERE  w.state = 2 AND w.wlzytype = 5 AND wc.state =0 AND u.issuperadmin!=1                     AND u.slaveuser IS NOT NULL AND u.slaveuser!='' AND org.autologin=1              GROUP BY u.id

explain结果:

数据量:wx_xx_wlzy 62W,wx_xx_wlzycomment 13W,wx_xx_user 38W
查询时间:2.9S, 还能再优化吗

解决方案

目前看来,效率还算正常。

解决方案二:
可以用explain等查看分析一下,能够利用索引的,可以简历索引

时间: 2024-10-04 13:15:34

select-mysql- sql查询 效率正常吗的相关文章

提高MySQL数据库查询效率的几个技巧[php程序员必看]

MySQL由于它本身的小巧和操作的高效, 在数据库应用中越来越多的被采用.我在开发一个P2P应用的时候曾经使用MySQL来保存P2P节点,由于P2P的应用中,结点数动辄上万个,而且节点变化频繁,因此一定要保持查询和插入的高效.以下是我在使用过程中做的提高效率的三个有效的尝试. l 使用statement进行绑定查询 使用statement可以提前构建查询语法树,在查询时不再需要构建语法树就直接查询.因此可以很好的提高查询的效率. 这个方法适合于查询条件固定但查询非常频繁的场合. 使用方法是: 绑

SQL查询效率介绍及9个注意事项

原文 http://blog.csdn.net/guoxuepeng123/article/details/8604715 一.查询条件精确,针对有参数传入情况 二.SQL逻辑执行顺序 FROM-->JOIN-->WHERE-->GROUP-->HAVING-->DISTINCT-->ORDER-->TOP 三.横向 查询需要的字段  当在SQL语句中连接多个表时,请使用表的别名并把别名前缀于每个Column上这样一来,就可以减少解析的时间并减少那些由Column

SQL查询效率注意事项小结_MsSql

一.查询条件精确,针对有参数传入情况 二.SQL逻辑执行顺序 FROM-->JOIN-->WHERE-->GROUP-->HAVING-->DISTINCT-->ORDER-->TOP 三.横向 查询需要的字段 当在SQL语句中连接多个表时,请使用表的别名并把别名前缀于每个Column上这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误 四.少做重复工作 控制同一语句的多次执行,特别是一些基础数据的多次执行是很多程序员很少注意的 减少多次的数

SQL查询效率注意事项小结

一.查询条件精确,针对有参数传入情况 二.SQL逻辑执行顺序 FROM-->JOIN-->WHERE-->GROUP-->HAVING-->DISTINCT-->ORDER-->TOP 三.横向 查询需要的字段 当在SQL语句中连接多个表时,请使用表的别名并把别名前缀于每个Column上这样一来,就可以减少解析的时间并减少那些由Column歧义引起的语法错误 四.少做重复工作 控制同一语句的多次执行,特别是一些基础数据的多次执行是很多程序员很少注意的 减少多次的数

详解Mysql多表联合查询效率分析及优化_Mysql

1. 多表连接类型1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用','  如: SELECT * FROM table1 CROSS JOIN table2 SELECT * FROM table1 JOIN table2 SELECT * FROM table1,table2         由于其返回的结果为被连接的两个数据表的乘积,因此当有WHERE, ON或USING条件的时候一般不建议使用,因为当数据表项目太多的时候,会非常慢

sql server 查询效率-SQL Server查询效率问题,哪个高手可以帮忙解释下?

问题描述 SQL Server查询效率问题,哪个高手可以帮忙解释下? 下面5个SQL查询效率差异很多,BusinessIndex表中有300万条记录, 其中DatAuthor建立有索引,其它字段没有索引. 哪个高手可以分析下什么原因? 非常感谢! SELECT strCode, strIndex from BusinessIndex where 1=1 and UserOrgID=1 and ( BusinessIndex.strIndex like '%热水器%') --查询4s SELECT

多表关联查询效率就很低,有没有只改SQL的优化方案?

问题描述 简化模型如下:select * from t,ut,uwhere t.tid = ut.tid and ut.uid = u.uid其中t表和ut表的数据量都在300W的样子,u表的数据量200条左右查询时间在10秒左右有没有什么好的优化方案?只从数据库这一层来做优化的(历史原因:任SB设计人员非要搞了一个中间表ut,实际上在t表中多搞一个uid的字段就好了,然后可以废除ut表,但是修改模型的话代价太大了) 解决方案 一下子查询出来这么多数据时间当然久了,试着查询出100条记录试试,如

SQL Server查询效率优化

查询效率分析: 子查询为确保消除重复值,必须为外部查询的每个结果都处理嵌套查询.在这种情况下可以考虑用联接查询来取代. 如果要用子查询,那就用EXISTS替代IN.用NOT EXISTS替代NOT IN.因为EXISTS引入的子查询只是测试是否存在符合子查询中指定条件的行,效率较高.无论在哪种情况下,NOT IN都是最低效的.因为它对子查询中的表执行了一个全表遍历. 建立合理的索引,避免扫描多余数据,避免表扫描! 几百万条数据,照样几十毫秒完成查询. 机器情况 p4: 2.4 内存: 1 G o

MySQL联合查询语法内联、左联、右联、全联

MySQL联合查询效率较高,以下例子来说明联合查询(内联.左联.右联.全联)的好处: T1表结构(用户id,用户名,密码)    userid   username  password 1   jack jackpwd    2   owen   owenpwd    T2表结构(用户id,用户积分,用户等级)    userid(int)   jifen   dengji      1    20   3        3    50    6    第一:内联( inner join ) 如

MySQL提高分页效率_Mysql

下面就是大数据量时提高分页的效率的测试代码,分享给大家. --提高分页效率:实现分页时只读取显示数据,需要先在数据库创建数据库"TestForPaging" use TestForPaging go --创建表SomeData create table SomeData ( id int primary key, name varchar(30) null, description text ) go --插入数据 insert into SomeData values(1,'num1