網站首頁 編程語言 正文
唯一索引在列中不允許重復的值出現,可以用來定義和約束表中的一列或者多列組合值,在執行insert和update語句時需要檢查唯一性。GBase8s中主鍵(PRIMARY KEY)會自動創建一個唯一索引。一個良好的表設計都應該定義主鍵或者唯一約束索引。特別是在OLTP系統中,唯一索引可以幫助快速定位少量記錄。
唯一索引的創建語法:
CREATE UNIQUE INDEX idx_name ON tabname(col);
或者
CREATE DISTINCT INDEX idx_name ON tabname(col);
非唯一索引(可重復索引)可以在非主鍵列中創建,允許在列中出現重復的數據。但需要避免子鍵過于重復的數據列上創建索引,因為重復值越多的索引,其效率越低。
唯一索引與非唯一索引的實例圖如下:
注意:由于需要在insert、update時進行唯一性判斷,所以不建議在一個表上創建多個唯一索引。為了確保唯一性要求,一般在一張表中創建唯一索引就足夠了。
補充:GBase 8s數據庫表和主鍵索引使用的空間分離方法
GBase 8s數據庫創建主鍵時一般情況下有兩種方法:
1,創建表時指定主鍵,如:
create table tab1 ( ? id int, ? name varchar(255), ? primary key(id) ) in datadbs01;
2,使用alter語句修改表結構的方式創建主鍵
create table tab1 ( ? id int, ? name varchar(255) ) in datadbs01; alter table tab1 add constraint primary key(id);
這兩種方法都無法為主鍵自動創建的索引指定單獨的空間。
其實有一種變通的方式,可以將表使用的空間和主鍵索引使用的空間分離開,需要在方法2前加上創建唯一索引(即:不讓alter table add primary key自動創建索引,而是使用剛創建的唯一索引),具體如下:
-- 創建表,使用datadbs01空間 create table tab1 ( ? id int, ? name varchar(255) ) in datadbs01; -- 創建唯一索引,使用indexdbs01空間 create unique index ix_tab1_id on tab1(id) in indexdbs01; -- 修改表,創建主鍵(關聯唯一索引) alter table tab1 add constraint primary key(id);
原文鏈接:https://blog.csdn.net/qq_54583279/article/details/122615784
相關推薦
- 2022-06-12 SQLServer只賦予創建表權限的全過程_MsSql
- 2022-07-26 pyspark中udf寫法及其使用
- 2022-08-31 Python?selenium?find_element()示例詳解_python
- 2022-08-04 基于python實現rpc遠程過程調用_python
- 2022-06-08 Spring Cloud Ribbon執行流程
- 2022-12-10 Android入門之ScrollView的使用教程_Android
- 2022-06-23 android中的adb命令學習_Android
- 2022-08-05 C語言超詳細講解宏與指針的使用_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支