基于unique與primary約束的區(qū)別分析_MySQL教程
推薦:網(wǎng)站數(shù)據(jù)多了分頁慢該怎么辦?網(wǎng)站數(shù)據(jù)多了分頁慢該怎么辦?在使用 MySQL 數(shù)據(jù)庫時大偏移量的數(shù)據(jù)查詢是非常慢的,如何通過優(yōu)化SQL語句來加速分頁查詢呢? 工具/原料MySQL 數(shù)據(jù)庫Apache (WEB服務(wù)器軟件)方法/步驟分析傳統(tǒng)分頁SQL語句 select * from table limit $offset, 10,當(dāng)$offset非常大時,例如
定義了UNIQUE約束的字段中不能包含重復(fù)值,可以為一個或多個字段定義UNIQUE約束,因此,UNIQUE即可以在字段級也可以在表級定義,在UNIQUE約束的字段上可以包含空值. ORACLE自動會為具有PRIMARY KEY約束的字段(主碼字段)建立一個唯一索引和一個NOT NULL約束,定義PRIMARY KEY約束時可以為它的索引; UNIQUED 可空,可以在一個表里的一個或多個字段定義;
PRIMARY KEY不可空不可重復(fù),在一個表里可以定義聯(lián)合主鍵;簡單的說, primary key = unique + not null
unique就是唯一,當(dāng)你需要限定你的某個表字段每個值都唯一,沒有重復(fù)值時使用. 比如說,如果你有一個person_Info表,并且表中有個身份證的column,那么你就可以指定該字段unique.
從技術(shù)的角度來看,Primary Key和Unique Key有很多相似之處。但還是有以下異同:
相同:它們都屬于實體完整性約束.
不同點:
(1) 唯一性約束所在的列允許空值,但是主鍵約束所在的列不允許空值。
(2) 可以把唯一性約束放在一個或者多個列上,這些列或列的組合必須有唯一的。但是,唯一性約束所在的列并不是表的主鍵列。
(3) 唯一性約束強制在指定的列上創(chuàng)建一個唯一性索引。在默認(rèn)情況下,創(chuàng)建唯一性的非聚簇索引,但是,也可以指定所創(chuàng)建的索引是聚簇索引。
(4)建立主鍵的目的是讓外鍵來引用.
(5)一個表最多只有一個主鍵,但可以有很多唯一鍵
分享:DBA應(yīng)該知道的一些關(guān)于SQL Server跟蹤標(biāo)記的使用本篇文章小編為大家介紹,DBA應(yīng)該知道的一些關(guān)于SQL Server跟蹤標(biāo)記的使用。需要的朋友參考下
- MSSQL清空日志刪除日志文件
- 關(guān)于數(shù)據(jù)庫中保留小數(shù)位的問題
- 解析mysql與Oracle update的區(qū)別
- mysql 導(dǎo)入導(dǎo)出數(shù)據(jù)庫以及函數(shù)、存儲過程的介紹
- MySQL——修改root密碼的4種方法(以windows為例)
- 解決MYSQL出現(xiàn)Can''t create/write to file ''#sql_5c0_0.MYD''的問題
- 深入理解SQL的四種連接-左外連接、右外連接、內(nèi)連接、全連接
- 解析:內(nèi)聯(lián),左外聯(lián),右外聯(lián),全連接,交叉連接的區(qū)別
- mysql出現(xiàn)“Incorrect key file for table”處理方法
- mysql重裝后出現(xiàn)亂碼設(shè)置為utf8可解決
- 淺析一個MYSQL語法(在查詢中使用count)的兼容性問題
- 解析MySQL中INSERT INTO SELECT的使用
- 相關(guān)鏈接:
- 教程說明:
MySQL教程-基于unique與primary約束的區(qū)別分析
。