mysql對於很長的字元列的索引方案

2021-08-15 21:00:54 字數 613 閱讀 8202

1.模擬雜湊索引

新建一列用於儲存該字元列的hash值(雜湊函式不要使用sha1(),md5(),因為會產生很長的字串,浪費空間,比較也慢,最好是返回整數的hash函式),在該列建立索引,查詢時必須在where子句中包含常量值,以避免hash衝突(

例如:select  id

from urlt

where url_hash = hash('www.blog.csdn.net')

and url = 'www.blog.csdn.net')。

2.使用字首索引

要考慮選擇足夠長的字首以保證較高的選擇性,同時又不能太長(以便節約空間),最後還要考慮資料分布。

建立語句  alter table cityt add key (city(7));

計算完整列的選擇性:select count(distinct cityname)/count(*)  from cityt;

計算不同字首長度的選擇性:select count(distinct left(cityname,3))/count(*)  from cityt;

select count(distinct left(cityname,4))/count(*)  from cityt;

mysql的表索和行索 mysql行鎖和表鎖

在呼叫儲存過程中,就會涉及到表鎖,行鎖這一概念 所謂區別 有索引的時候就是行鎖,沒有索引的時候就是表索。innodb 的行鎖是在有索引的情況下,沒有索引的表是鎖定全表的.表鎖演示 無索引 session1 mysql set autocommit 0 mysql select from innodb...

mysql的索引怎麼儲存 Mysql中的索引 儲存

索引的使用與資料庫中表的引擎有一定的關聯 索引的儲存的資料型別分為兩種 btree hash myisam innodb 儲存型別只支援btree memory heap支援兩種 一般情況下,有以下幾種常用的索引 普通索引 index create table t1 index 索引名 列名 沒有唯...

mysql常見的索引型別 mysql 常用索引型別

一 索引的型別 mysql索引的四種型別 主鍵索引 唯一索引 普通索引和全文索引。通過給字段新增索引可以提高資料的讀取速度,提高專案的併發能力和抗壓能力。索引優化時mysql中的一種優化方式。索引的作用相當於圖書的目錄,可以根據目錄中的頁碼快速找到所需的內容。主鍵索引 主鍵是一種唯一性索引,但它必須...