mysql----------mysql的一些常用命令
1、查询一张表中某个字段重复值的记录
select id,cert_number from (select id,cert_number,count(*)as n from 表明 group by cert_number) t where n>1;
2、如何查看sql的运行时间,navicat或者phpmyadmin执行sql右下角都有运行时间
开启profiling的命令:set profiling=1;
先运行一个sql然后运行这句:show profiles;
3、将一张表的输入导入到另一张,字段相同或者不同都可以使用
insert ceshi_data_time(type,action_no,action_time) select type,action_no,action_time from collector_data_time;
4、当一个表中的数据达到几十万条的时候,查询会慢,这个时候看下你的sql,查询条件的字段可以创建普通索引。但是这里有个情况,并不是你用这个字段为条件查询
把这个字段设置为索引就一定会快。当几十万条数据中,假设status=1是那个条件字段,当几十万条数据中,status为0 或者为非1的记录条数占据大部分的时候,这个时候
加索引是有效的,当十几万条数据百分之八九十都是status=1的记录,你查询条件是status=1。这个时候创建索引效果并没有太大变化
5、
1、id:这是SELECT的查询序列号
2、select_type:select_type就是select的类型,可以有以下几种:
3、table:显示这一行的数据是关于哪张表的
4、type:这列最重要,显示了连接使用了哪种类别,有无使用索引,是使用Explain命令分析性能瓶颈的关键项之一。
5、possible_keys:列指出MySQL能使用哪个索引在该表中找到行
6、key:显示MySQL实际决定使用的键(索引)。如果没有选择索引,键是NULL
7、key_len:显示MySQL决定使用的键长度。如果键是NULL,则长度为NULL。使用的索引的长度。在不损失精确性的情况下,长度越短越好
8、ref:显示使用哪个列或常数与key一起从表中选择行。
9、rows:显示MySQL认为它执行查询时必须检查的行数。
10、Extra:包含MySQL解决查询的详细信息,也是关键参考项之一。