首頁 > 資料庫 > mysql教程 > mysql查询区分大小写高性能

mysql查询区分大小写高性能

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-07 14:55:23
原創
1249 人瀏覽過

mysql查询默认是不区分大小写的 如: 1 2 3 4 5 6 7 a href=/tags.php/select/target=_blankselect/a*fromtable_namewherealike'a%' select*fromtable_namewherealike'A%' select*fromtable_namewherealike'a%' select*fromtable_namewherealike'A%' 效果

mysql查询默认是不区分大小写的 如:

1

2

3

4

5

6

7

select  * from  table_name where  a like  'a%'    

 

select  * from  table_name where  a like  'A%'    

 

select * from table_name where a like 'a%'

 

select * from table_name where a like 'A%'

效果是一样的。

要让mysql查询区分大小写,可以:
 

1

2

3

4

5

6

7

select  * from  table_name where  binary  a like  'a%'    

 

select  * from  table_name where  binary  a like  'A%'    

 

select * from table_name where binary a like 'a%'

 

select * from table_name where binary a like 'A%'

也可以在建表时,加以标识
 

1

2

3

4

5

6

7

8

9

10

11

create  table  table_name(   

 

     a varchar (20) binary     

 

)  

 

create table table_name(

 

     a varchar(20) binary 

 

)

测试30W数据

1

SELECT * FROM `tableName` WHERE ( BINARY weixin = 'value' ) LIMIT 1;

不支持索引,查询效率底下,不建议考虑。上面这些sql语句乍看不会有什么问题,但是当表中的数据多了以后,问题就会凸显出来,用不到索引,就会导致查询效率非常低下。

支持索引,查询效率高(推荐使用)

1

SELECT * FROM `tableName` WHERE weixin = 'value' COLLATE utf8_bin LIMIT 1;

查询分析如下:



通过以上描述可以很清晰的看到两个sql在效率上的根本区别,binary慎用

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
linux安裝mysql報錯
來自於 1970-01-01 08:00:00
0
0
0
mysql 升級後無法重新啟動mysql服務的問題
來自於 1970-01-01 08:00:00
0
0
0
MySQL停止進程
來自於 1970-01-01 08:00:00
0
0
0
phpstudy不能啟動mysql?
來自於 1970-01-01 08:00:00
0
0
0
環境中mysql
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板