資料庫索引建立,查詢
索引的詳解
索引的建立
主鍵索引的建立
主鍵索引的建立有兩種方式,
1 在建立表的時候, 直接在指定列或者某幾列為主鍵
create table aaa(id int primary key , name varchar(32))
2新增表後, 對指定列建立索引
ALTER TABLE 表名 ADD PRIMARY KEY(列名1,列名2.....)
主鍵索引的特點:
1) 一個表最多隻能有一個主鍵
2) 一個主鍵可以指向多列(複合主鍵)
3) 主鍵效率是最高, 我們給Id
4) 主鍵索引的列不能重複, 也不能為null
唯一索引的建立:
1.建立表的時候,新增唯一索引
create table aaa (id int primary key, name varchar(32), email varchar(64) unique)
2.建立表後,新增
create unique index uni_email on aaa(email); uni_email代表索引名稱 aaa代表表名 email 為列名
alter table aaa add unique(email);
唯一索引的特點:
1.一張表中可以有多個唯一索引
2.唯一索引資料不能重複,除了null 注意:不能是' ',因為一個是分配空間的
3.什麼時候使用唯一索引, 當某列資料不會重複, 才能使用
4.唯一索引的效率也很高, 可以考慮優先使用
普通索引的建立:(太簡單了略過)
多列索引:
ALTER TABLE people ADD INDEX lname_fname_age (lame,fname,age);
為了提高搜尋效率,我們需要考慮運用多列索引,由於索引檔案以B-Tree格式儲存,所以我們不用掃描任何記錄,即可得到最終結果。
注:在mysql中執行查詢時,只能使用一個索引,如果我們在lname,fname,age上分別建索引,執行查詢時,只能使用一個索引,mysql會選擇一個最嚴格(獲得結果集記錄數最少)的索引。
3.最左字首:顧名思義,就是最左優先,上例中我們建立了lname_fname_age多列索引,相當於建立了(lname)單列索引,(lname,fname)組合索引以及(lname,fname,age)組合索引。
注:在建立多列索引時,要根據業務需求,where子句中使用最頻繁的一列放在最左邊。
索引的查詢
1 desc 表名
2 show keys from 表名 \G
3 show indexs from 表名 \G
索引的修改
索引的刪除
相關推薦
資料庫索引建立,查詢
索引的詳解索引的建立 主鍵索引的建立 主鍵索引的建立有兩種方式, 1 在建立表的時候, 直接在指定列或者某幾列為主鍵 create table aaa(id int prim
資料庫索引建立
MySQL 普通索引、唯一索引和主索引 1、普通索引 mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) 普通索引(由關鍵字KEY或INDEX定義的索引)的唯一任務是加快對資料的訪問速度。因此
資料庫---索引操作(索引的建立,刪除,查詢)
1、建立索引 create index 索引名 on 表名(列名); 2、刪除索引 drop index 索引名; 3、建立組合索引 create index 索引名 on 表名(列名1,,列名2); 4、查詢索引 --根據索引名,查詢表索引欄位 select * f
為什麼你建立的資料庫索引沒有生效?
幾乎所有的小夥伴都可以隨口說幾句關於建立索引的優缺點,也知道什麼時候建立索引能夠提高我們的查詢效能,什麼時候索引會更新,但是你有沒有注意到,即使你設定了索引,有些時候索引他是不會生效的!這不僅考察了大家對索引的瞭解程度,還要讓大家在使用的時候能夠正確的使用。以下介紹了一些可能會造成索引失效的特殊情況,希望大家
Python MySQL - 建立/查詢/刪除資料庫
#coding=utf-8 import mysql.connector import importlib import sys #連線資料庫的資訊 mydb = mysql.connector.connect( host='115.xx.10.121',
MySQL 建立索引的幾大原則 和 使用索引優化查詢
MySQL 建立索引的幾大原則 和 使用索引優化查詢 文章目錄 1、建立索引的幾大原則 1.1、最左字首匹配原則 1.2、=和in可以亂序 1.3、選擇 `區分度`高的列作為索引 1.4、索引列不能參與計算,保持列“乾淨”
查詢資料結構及Mysql資料庫索引原理(B-/+Tree)
轉載:https://blog.csdn.net/u014800380/article/details/64441164 摘要: 本文內容主要來源於網際網路上主流文章,只是按照個人理解稍作整合,後面附有參考連結。 https://yq.aliyun.co
909422229_資料庫索引的建立、使用、優缺點
技術交流群:958923746,有學習視訊,文件等。 一、索引的定義 在關係資料庫中,索引是一種單獨的、物理的對資料庫表中一列或多列的值進行排序的一種儲存結構,它是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的資料頁的邏輯指標清單。索引的作用相當於圖書的目錄,可以根據目錄中
Android開發-如何建立資料庫 資料庫新增&查詢
第一步 新建一個資料夾 dao 用來存放我們待會要建立的檔案 第二步 新建一個MySql類 這個類要繼承 SQLiteOpenHelper public class MySql extends SQLiteOpenHelper { public MySql(Context con
資料庫表建立索引
建立一個表 建立名為 "Person" 的表,有四個列。列名是:"LastName"、"FirstName"、"Address" 以及 "Age":定義列的長度; CREATE TABLE Person ( LastName varchar(30), FirstName varchar(3
資料庫索引基本知識(建立索引、刪除索引、修改索引)
索引分類: 主鍵索引: 不能為null,唯一索引可以為null 單值索引: 單列,每個表可以有多個 唯一索引: 不能重複 複合索引: 多個列構成的索引,相當於二級目錄 name,age 兩個張
JDBC連結本地MySQL資料庫,建立表結構並新增資料和查詢資料
首先我們要下載JDBC的jar包,本專案中jar放在了lib目錄中,大家可以直接使用我這個mysql-connector-java-5.1.42-bin.jar包。 然後新增一個Main,使用JDBC連結MySQL資料庫,建立表結構並新增資料和查詢資料 具體
資料庫適當新增索引進行查詢優化
新增索引: 顯示資料表的已經添加了索引的欄位 show index from m3u8_content; 用explain檢測效能,語句為:explain select count(*) from m3u8_content where status=8; type由al
SQL Server: 建立 XML 索引 提升查詢效率
Scenario: 最近在工作中遇到一個問題,客戶訪問公司產品的某報表功能時,速度極慢,在客戶環境甚至達到15+分鐘的頁面載入時間。經分析,問題的原因是多方面的,其中最主要的一項是產品資料庫(SQL Server)的一個核心欄位採用了XML型別儲存,先不討論其設計的優劣,但大
資料庫索引的建立 和 注意事項
PS:索引不是給你使用的,而是資料庫本身使用,索引只是為了讓你的查詢更加快速而已 CREATE INDEX index_name ON table_name (column_name) 註釋:”column_name” 規定需要索引的列。 SQL CR
【轉】MySQL—1、資料庫索引的實現原理及查詢優化
MySQL官方對索引的定義為:索引(Index)是幫助MySQL高效獲取資料的資料結構。 使用索引的目的在於提高查詢效率,這篇文章梳理一下索引的實現原理和應用。 不同的儲存引擎索引實現的資料結構不同 MySQL支援諸多儲存引擎,而各種儲存引擎對索引的支援也各不相同,
mongodb 索引建立,查詢,刪除操作
一、索引介紹索引通常能夠極大的提高查詢的效率,如果沒有索引,MongoDB在讀取資料時必須掃描集合中的每個檔案並選取那些符合查詢條件的記錄。這種掃描全集合的查詢效率是非常低的,特別在處理大量的資料時,查詢可以要花費幾十秒甚至幾分鐘,這對網站的效能是非常致命的。索引是特殊的資
為什麼你建立的資料庫索引沒有生效
幾乎所有的小夥伴都可以隨口說幾句關於建立索引的優缺點,也知道什麼時候建立索引能夠提高我們的查詢效能,什麼時候索
索引建立了,但是查詢速度還是奇怪的慢
建立索引後,偶爾需要執行表分析,才會有效果。analyze table OUT_STORAGE_PLAN_DETAIL compute statistics for table for all indexes for all columns;
MySQL 新建資料庫、建立索引、建立外來鍵
本文通過命令操作資料庫的方式,以簡單會員表為例,為讀者簡述資料表的簡單設計及操作。 1. 新建資料庫: CREATE DATABASE 資料庫名; 2. 新建資料表: //Tab1