mysql concat 索引问题
hi,all:
问题描述,我有一个表s,两个字段f,a 。创建了一个index(f,a)
当我使用where concat(f,a)= '0033';走索引
但是,如果我让表中再加一个字段b
此时,我再使用where concat(f,a)= '0033';无论如何也不走索引了
PS:where concat(f,cast(a,char))= '0033'; 试过也不走
mysql> show create table s;
+-------+-----------------------------------------------------------------------
--------------------------------------------------------------------------------
+
| Table | Create Table
|
+-------+-----------------------------------------------------------------------
--------------------------------------------------------------------------------
+
| s | CREATE TABLE `s` (
`f` varchar(10) NOT NULL DEFAULT '',
`a` int(4) DEFAULT NULL,
KEY `idx_f_a` (`f`,`a`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+-----------------------------------------------------------------------
--------------------------------------------------------------------------------
+
1 row in set (0.00 sec)
mysql> explain select * from s where concat(f,a)= '0033';
+----+-------------+-------+-------+---------------+---------+---------+------+-
-----+--------------------------+
| id | select_type | table | type | pos
相关问答:
一个行业网站,要实现的功能要求为:
一搜索表单可选搜索 产品/资讯/商家,搜索时希望先搜标题后全文,当前的数据量估计3万多,定位期望在百万级也可用。
数据类型为innodb,当前的方法是对关键词进行 ......
我用的like模糊查询,比如mysql的name中有“csdn论坛系统”这几个字,如何在 <input>中查询“csdn 系统”也能出来这个“csdn论坛系统”,我现在是查“csdn”或者“系统”都可以。谢谢各位了!不知道我这么表达 ......
不知道是不是我的xampp有问题,mysql是图形化的!
一个ID组在我的mysql的表里面 2,5,8,7
点了排序,然后用PHP文件连接这个表显示表的信息时,ID的顺序还是不变!应该是2,5,7,8的吧升序排序后!
在PHP文件里 ......
我用的是MySQL Server5.0绿色版的,我给它开了3506端口
在有些计算机上,过没多久它就会自动关闭,但有些计算机上又不会
这个问题该怎么处理啊?
cmd --> F:\MySql\MySqlServer5.1\bin\mysqld --i ......