首頁 資料庫 mysql教程 数据库的索引_MySQL

数据库的索引_MySQL

Jun 01, 2016 pm 01:59 PM
資料庫表

索引

使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构,例如 employee 表的姓(lname)列。如果要按姓查找特定职员,与必须搜索表中的所有行相比,索引会帮助您更快地获得该信息。

索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序。数据库使用索引的方式与您使用书籍中的索引的方式很相似:它搜索索引以找到特定值,然后顺指针找到包含该值的行。

在数据库关系图中,您可以在选定表的“索引/键”属性页中创建、编辑或删除每个索引类型。当保存索引所附加到的表,或保存该表所在的关系图时,索引将保存在数据库中。有关详细信息,请参见创建索引。

注意;并非所有的数据库都以相同的方式使用索引。有关更多信息,请参见数据库服务器注意事项,或者查阅数据库文档。
作为通用规则,只有当经常查询索引列中的数据时,才需要在表上创建索引。索引占用磁盘空间,并且降低添加、删除和更新行的速度。在多数情况下,索引用于数据检索的速度优势大大超过它的。

索引列
可以基于数据库表中的单列或多列创建索引。多列索引使您可以区分其中一列可能有相同值的行。

如果经常同时搜索两列或多列或按两列或多列排序时,索引也很有帮助。例如,如果经常在同一查询中为姓和名两列设置判据,那么在这两列上创建多列索引将很有意义。

确定索引的有效性:

检查查询的 WHERE 和 JOIN 子句。在任一子句中包括的每一列都是索引可以选择的对象。
对新索引进行试验以检查它对运行查询性能的影响。
考虑已在表上创建的索引数量。最好避免在单个表上有很多索引。
检查已在表上创建的索引的定义。最好避免包含共享列的重叠索引。
检查某列中唯一数据值的数量,并将该数量与表中的行数进行比较。比较的结果就是该列的可选择性,这有助于确定该列是否适合建立索引,如果适合,确定索引的类型。
索引类型
根据数据库的功能,可以在数据库设计器中创建三种索引:唯一索引、主键索引和聚集索引。有关数据库所支持的索引功能的详细信息,请参见数据库文档。

提示:尽管唯一索引有助于定位信息,但为获得最佳性能结果,建议改用主键或唯一约束。
唯一索引
唯一索引是不允许其中任何两行具有相同索引值的索引。

当现有数据中存在重复的键值时,大多数数据库不允许将新创建的唯一索引与表一起保存。数据库还可能防止添加将在表中创建重复键值的新数据。例如,如果在 employee 表中职员的姓 (lname) 上创建了唯一索引,则任何两个员工都不能同姓。

主键索引

数据库表经常有一列或列组合,其值唯一标识表中的每一行。该列称为表的主键。

在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时,它还允许对数据的快速访问。

聚集索引

在聚集索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚集索引。

如果某索引不是聚集索引,则表中行的物理顺序与键值的逻辑顺序不匹配。与非聚集索引相比,聚集索引通常提供更快的数据访问速度。

 

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1269
29
C# 教程
1248
24
如何使用PHP建立和管理資料庫表 如何使用PHP建立和管理資料庫表 Sep 09, 2023 pm 04:48 PM

如何使用PHP創建和管理資料庫表隨著互聯網的迅速發展,資料庫成為了各種網站和應用程式不可或缺的組成部分。在PHP中,我們可以利用資料庫管理系統(DBMS)如MySQL來建立和管理資料庫表。本文將教你如何使用PHP來實現這項功能,並附上對應的程式碼範例。連接資料庫首先,我們需要在PHP中連接到資料庫。可以使用PHP提供的mysqli擴充或PDO來實現這項功能。

資料庫視圖和表格有哪些區別 資料庫視圖和表格有哪些區別 Sep 04, 2023 pm 03:13 PM

資料庫檢視和表格的差異有:1、表格是資料庫中用來儲存資料的實體結構,而檢視只是基於資料表或多個資料表的查詢結果集;2、資料表是資料的實體儲存單元,檢視只是提供了查看和操作表資料的規則;3、視圖為資料庫提供進階的安全機制,表沒有安全機制;4、視圖是表的抽象;5、視圖可查詢中組合多個表,表只能查詢單一表; 6.表格是資料庫中的永久性結構,視圖不是;7、視圖可建立相同名稱的視圖,表格不能建立同名表格等等。

資料庫視圖和表格怎麼區分 資料庫視圖和表格怎麼區分 Aug 22, 2023 am 11:27 AM

資料庫視圖和表格是資料庫中的兩個不同的概念,有著不同的功能和用途,表是資料庫中真正儲存資料的實體,而視圖是從一個或多個表中導出的虛擬表,用於以特定的方式呈現和操作數據。表格具有更高的資料持久性,而視圖則提供了更靈活和便捷的資料存取方式。

PHP和PDO: 如何執行資料庫表的修改和重新命名 PHP和PDO: 如何執行資料庫表的修改和重新命名 Jul 28, 2023 pm 10:42 PM

PHP和PDO:如何執行資料庫表的修改和重新命名隨著應用程式的發展和需求的變化,我們常常需要對資料庫中的表進行修改和重新命名。在PHP中,我們可以使用PDO(PHPDataObjects)擴充函式庫來執行這些操作。本文將介紹如何使用PDO來執行資料庫表的修改和重新命名,並提供程式碼範例。首先,我們需要確保已經成功連接到資料庫。假設我們已經使用PDO建立了與資料庫的

資料匯出:自訂資料庫表 資料匯出:自訂資料庫表 Sep 02, 2023 pm 06:01 PM

如本系列的第一篇文章中所提到的,自訂資料庫表的主要問題之一是它們不由現有的匯入和匯出處理程序處理。本文旨在解決這個問題,但應該指出的是,目前還沒有完全令人滿意的解決方案。讓我們考慮兩種情況:自訂表格引用本機WordPress表格自訂表格完全獨立於原生表格「最壞情況」是第一種情況。以保存使用者活動日誌的自訂表為例。它引用使用者ID、物件ID和物件類型-所有這些都引用儲存在本機WordPress表中的資料。現在想像一下,有人想要將其WordPress網站中的所有資料匯入到第二個網站中。例如,完全

資料庫視圖和表格的差別有哪些 資料庫視圖和表格的差別有哪些 Aug 22, 2023 am 11:15 AM

資料庫視圖和表在資料庫中有以下5點區別:1、視圖不儲存數據,而表是實際儲存資料的物件;2、視圖的資料是一個虛擬表,而表中的資料可以來自多個來源; 3.視圖繼承查詢語句的結構,而表格具有自己的結構定義;4、視圖不可更新,而表允許直接對其進行操作;5、視圖基於底層表的權限,而表具有自己的存取權限。

優化MySQL表結構以解決連線問題 優化MySQL表結構以解決連線問題 Jun 30, 2023 pm 01:04 PM

MySQL連線問題之如何優化資料庫表結構?在開發應用程式時,資料庫連接是非常重要的一部分。當我們在使用MySQL資料庫時,正確優化資料庫表結構可以提高查詢和連接效能,從而提升應用程式的效能和回應速度。本文將介紹一些最佳化資料庫表結構的方法,以解決MySQL連線問題。一、合理設計表結構在設計資料庫表結構時,需要根據應用程式的需求,合理地設計表之間的關係,減少數據

表和資料庫是什麼關係 表和資料庫是什麼關係 Aug 28, 2023 am 09:15 AM

表是資料庫中資料儲存的方式,而資料庫則是資料的整體容器和管理系統,表格透過資料庫提供的功能來進行建立、查詢、更新和刪除等操作,以滿足使用者對資料的需求。

See all articles