您的位置:首页 > 数据库

数据库查询经验总结,不定期更新

2016-09-06 16:03 260 查看
1.连接查询

场景:

A-----从表

B-----主表

C-----主表

B,C两表的主键都是A表的外建。

现在要查数据,直接查A表,查到的是B和C表的ID,如何找到对应的B表C表数据呢?

使用left jon on

SELECT  a.name,
b.NAME AS MODEL,
c.`NAME` AS PLACE
FROM itsm_ci a
LEFT JOIN  itsm_ci_model b ON  a.MODEL=b.RESOURCEID
LEFT Join  itsm_ci_position c ON a.PLACE=c.RESOURCEID


2.一张表:有班级,姓名,成绩三个字段。现在需要做查询,查询每个班级最高成绩的:姓名,班级,成绩。

SELECT name,score,class from sco WHERE score in (select max(score) FROM sco GROUP BY class)

思路:先分组查询每个班级的最高成绩,然后,查询在这个成绩里的人。

3:慢查询日志的配置:windows下:my.ini文件

[mysqld]下添加:

log_slow_queries=ON                                                       //表示开启慢查询日志

long_query_time=2                                                            //表示超过两秒的查询将会被记录

slow_query_log=ON                                                         //表示开启慢查询日志

log_queries_not_using_indexes=ON                           //没有使用索引的将会被记录

slow_query_log_file="C:/Program Files/MySQL/MySQL Server 5.5/data/mysqldata/slow-query.log"                    //慢查询日志的位置  

相关命令的操作:

1.查看慢查询的数量:show global status like '%slow%';  

2.查看慢查询制定多少时间:show variables like '%long%';  

3:查看慢查询状态:show
variables like '%slow%';
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: