mysql的索引
一、唯一索引——用關鍵字unique約束,作用為:約束某個或多個字段不能重複(但是可以為空),加速查詢速度
例:create table t1(
id int,
cid int,
did int,
unique index cd_id_un (cid,did)
)engine=innodb default charset=utf8
上述的例子為聯合唯一,即兩個字段聯合起來的值必須唯一,比如cid=1,did=2,新插入的記錄,cid=1,did=2,則插入失敗。
二、索引為什麼可以加速查詢速度?對於資料庫的查詢來說,查詢記錄都是從第一條開始,逐條往後遍歷查詢的,當資料量很大的時候,平均的查詢速度就會非常的慢了。而建立了索引,資料庫在插入資料時就會根據索引對應的字段進行排序,所以根據索引進行查詢操作時,其實是對乙個有序的資料進行查詢。對有序資料進行查詢時,就很容易聯想到二分查詢演算法。所以在資料量非常大時,對索引進行查詢操作是可以很大的提高查詢速度的。
但是索引也會有弊端,大概有以下幾種:
1、會降低資料的寫入效能。屆時,每插入一條資料,都會進行兩個操作——寫入資料本身和更新索引(比如說排序)
2、索引會占用一定的磁碟空間,在使用索引時需要考慮欄位的長度。
3、建議使用表中的唯一值為字段編制索引。
mysql聯想 MySQL基礎篇(1)
資料庫及資料表的基本操作 一 資料庫的基本連線命令 1 連線遠端伺服器命令 mysql h 127.0.0.1 p 3306 u root p root 2 連線本地伺服器命令 mysql u root p 二 運算元據庫 1 切換資料庫 use databasename 2 建立資料庫 creat...
mysql 基礎篇 Ubuntu下Mysql安裝
安裝 mysql 服務端 核心程式 sudo apt get install mysql server 安裝 mysql 客戶端 sudo apt get install mysql client 在安裝過程中會提示確認輸入 yes,設定 root 使用者密碼 之後也可以修改 等,稍等片刻便可安裝成...
mysql基礎篇(一)
1 insert 的用法 insert into tablename value 2 change和modify都可以修改表定義,不同的是change後面必須寫兩次列名,但是change的優點是可以修改列名稱,modify不能 3 表型別 儲存引擎 myisam 預設儲存引擎,這種儲存對於訪問的快,...