一、SQL里字符串字段內(nèi)容是全中文或者全字母或者全數(shù)字查詢速度的區(qū)別
基本沒區(qū)別,計算機底層對不同數(shù)據(jù)類型的分解不一樣,但效率上來說不會有太大的差別。
并且,如果是為了提升查詢效率,建議利用索引來實現(xiàn)。而在索引方面,中文和數(shù)字在查詢速度上的區(qū)別會更加小,基本可以忽略。
下面簡單介紹一下索引的概念:
在MySQL的性能優(yōu)化中,索引是非常重要的一塊,好的索引邏輯可以大大提高MySQL的效率。正如google、百度一樣,索引也是期數(shù)據(jù)查詢中重要的一個因素。實際上,索引也是一張表,該表保存了主鍵與索引字段,并指向實體表的記錄。
使用索引固然有好處,但過多的使用索引將會造成濫用。因此索引也會有它的缺點:
雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對表進行INSERT、UPDATE和DELETE。因為更新表時,MySQL不僅要保存數(shù)據(jù),還要保存一下索引文件。建立索引會占用磁盤空間的索引文件。延伸閱讀:
二、sql語句判斷是否為數(shù)字、字母、中文
select ascii(字段)
數(shù)字:48-57
字母:65-123
漢字:123+
如,要刪除某個全為數(shù)字的字段
DELETE FROM?table??WHERE ascii(name) between 48 and 57??
包含中文字符:
select * from 表名 where 列名 like ‘%[y-z]%’
包含英文字符:
select * from 表名 where 列名 like ‘%[a-z]%’?
包含純數(shù)字:
select * from 表名 where 列名 like ‘%[0-9]%’