就是sql语句里,如果使用了mysql的函数,索引就无效了?所以不推荐在sql里使用函数?
解决方案 »
- 在phpmyadmin中如何给一个字段做成索引?
- 请教:mysql连接数据库问题
- mysql binglong还原的无奈
- mysql 自定义函数拼接一个字段的多条记录
- 导出导入数据的时候要怎么控制编码?
- 两个数据表 company 和 menber 他们之间共用email 现在我要删除邮件只存在于表company中在表menber中却没有的记录 请问sql语句怎么写
- 最近碰到一个问题不知道如何解决?
- 如何将 现有的表 倒入 MYSQL的数据库中.
- delete from table where id in(数万条记录)
- 用MYSQL编写以下数据库语句
- Error 1005, Can't Create Table...
- my.ini文件设置日志文件后读文件出错
col varchar(100), index columnwhere left(col,4) = 'aaa' 这种可以使用索引。
谢,left很少用,一般都like 'aaa%',
错误!这个函数也是不能用索引的。mysql> desc site_quans;
+--------------+-------------+------+-----+------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| user_quan_id | varchar(9) | NO | MUL | | |
| site_quan_id | varchar(20) | NO | MUL | | |
| site_id | int(11) | NO | | 0 | |
| quan_value | int(11) | NO | | 0 | |
| password | varchar(30) | NO | | | |
| start_date | date | NO | | 1970-01-01 | |
| end_date | date | NO | | 1970-01-01 | |
| status | tinyint(4) | NO | | 0 | |
| quan_type | tinyint(4) | NO | | 0 | |
+--------------+-------------+------+-----+------------+----------------+
10 rows in set (0.00 sec)mysql> explain select * from site_quans where left(site_quan_id, 4) = 'aaa';
+----+-------------+------------+------+---------------+------+---------+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+------------+------+---------------+------+---------+------+------+-------------+
| 1 | SIMPLE | site_quans | ALL | NULL | NULL | NULL | NULL | 1 | Using where |
+----+-------------+------------+------+---------------+------+---------+------+------+-------------+
1 row in set (0.00 sec)