mysql如何創(chuàng)建索引 如何在mysql中對text字段加索引?
如何在mysql中對text字段加索引?索引的目的是提高你的查詢速度,當然附帶的后果就是會降低你的數(shù)據(jù)更新的性能,索引的創(chuàng)建依據(jù)一般都是根據(jù)你實際使用情況而定,也就是說你要用哪個或者那幾個字段作為查詢
如何在mysql中對text字段加索引?
索引的目的是提高你的查詢速度,當然附帶的后果就是會降低你的數(shù)據(jù)更新的性能,索引的創(chuàng)建依據(jù)一般都是根據(jù)你實際使用情況而定,也就是說你要用哪個或者那幾個字段作為查詢條件,就在這個字段或者這些字段上面建立索引,也就是所謂的單字段索引和復合字段索引,比如:select * from student where id = 1上面這種情況那自然就是在id上建立索引,復合索引以此類推,索引不是隨意創(chuàng)建的,如果你用的上,那才能建立索引,如果用不上創(chuàng)建索引反而會降低你的數(shù)據(jù)庫性能。建議樓主去查一下有關“利用索引查詢數(shù)據(jù)提高性能”之類的帖子,這樣你就能對索引的意義有比較深刻的了解了。
什么字段類型不能建立索引?
- 模糊搜索標題時,如果你的寫法是 like %xxx% 那么你加索引也沒用,但是如果你寫成 like "xxx%"倒是能用到索引(假設你給這個字段加了索引的話),但是他只能搜索到以xxx開頭的標題
- 排序字段也是要加索引的。
書籍的話:可以看下 高性能mysql
另外,像搜索文章的這種場景,用戶肯定要要求分詞也能搜到的。比如說文章標題為 ‘mysql 搜索時,如果有相關排序字段,需要給排序字段設置索引嗎?’ 那用戶假如輸入的是‘mysql 排序’ 或是 ‘索引 mysql’ 那么都應該要搜出來。因此數(shù)據(jù)庫的like是不能滿足的
此時可以使用一下es作為搜索服務。