MySQL count(*) 与 count(col) 查询效率比较
MySQL count(*) 与 count(col) 查询效率比较
优化总结:
1.任何情况下SELECT COUNT(*) from xxx 是最优选择;
2.尽量减少SELECT
COUNT(*) from xxx WHERE COL = ‘xxx’ 这种查询;
3.杜绝SELECT COUNT(COL) from tablename WHERE COL = ‘xxx’
的出现。(其中COL非主键)
环境:
MySQL版本:5.0.45
OS:Windows XP SP3
数
据表一:sphinx
+———-+——————+——+—–+———+—————-+
| Field |
Type | Null | Key | Default | Extra |
+———-+——————+——+—–+———+—————-+
|
id | int(10) unsigned | NO | PRI | NULL | auto_increment |
|
til | varchar(100) | NO | | | |
|
content | text | NO | | | |
|
dataline | int(11) | NO | | | |
+———-+——————+——+—–+———+—————-+
记
录数:1120100
查询一:
mysql>
相关文档:
mysql创建数据库sql实例
# MySQL-Front 3.2 (Build 2.10)
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET CHARACTER SET 'latin1' ......
##/etc/my.cnf:
# [mysql]
# default-character-set=utf8
# [mysqld]
# character-set-server=utf8
# collation-server=utf8_general_ci
# [client]
# default-character-set=utf8
/etc/init.d/mysqld stop
/etc/init.d/mysqld start
# dump db
mysqldump -u dbuser -pdbpass --opt --skip-set-charset --defaul ......
查询重复记录 select * from table GROUP BY name
只把有重复的显示出来
select * ,count(*) as nums from tab_a group by name having nums>1
方法一:(这个方法比较不错,只是自增字段会重建)
新建一个临时表
create table tmp as select * &nb ......
昨天遇到一个问题:
在一张有三十万条纪录的数据表A,其主键自增字段id,name字段(varchar),还有type_id(int),在name字段上已经添加了索引。type_id由于是整型字段,认为加索引没有太多的意义,所以没有加索引。
本次有一个需求是在一个循环中按type_id查询此表A,结果一执行此循环,mySQL立刻占用CPU到200%以上,导 ......
MySQL安装指南
要安装 MySQL,可以在终端提示符后运行下列命令:
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install php5-mysql
// 安装php5-mysql 是将php和mysql连接起来
一旦安装完成,MySQL 服务器应该自动启动。您可以在终端提示符后运行以下命令来检查 MySQL 服务 ......