mysql 建立索引的原則(轉)

来源:http://www.cnblogs.com/jaejaking/archive/2016/04/01/5344982.html
-Advertisement-
Play Games

索引查詢是資料庫中重要的記錄查詢方法,要不要進入索引以及在那些欄位上建立索引都要和實際資料庫系統的查詢要求結合來考慮,下麵給出實際中的一些通用的原則: 1. 在經常用作過濾器的欄位上建立索引; 2. 在SQL語句中經常進行GROUP BY、ORDER BY的欄位上建立索引; 3. 在不同值較少的欄位 ...


索引查詢是資料庫中重要的記錄查詢方法,要不要進入索引以及在那些欄位上建立索引都要和實際資料庫系統的查詢要求結合來考慮,下麵給出實際中的一些通用的原則:

1. 在經常用作過濾器的欄位上建立索引;

2. 在SQL語句中經常進行GROUP BY、ORDER BY的欄位上建立索引;

3. 在不同值較少的欄位上不必要建立索引,如性別欄位;

4. 對於經常存取的列避免建立索引;

5. 用於聯接的列(主健/外健)上建立索引;

6. 在經常存取的多個列上建立複合索引,但要註意複合索引的建立順序要按照使用的頻度來確定;

7. 預設情況下建立的是非簇集索引,但在以下情況下最好考慮簇集索引,如:含有有限數目(不是很少)唯一的列;進行大範圍的查詢;充分的利用索引可以減少表掃描I/0的次數,有效的避免對整表的搜索。當然合理的索引要建立在對各種查詢的分析和預測中,也取決於DBA的所設計的資料庫結構。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Redis 字元串數據類型的相關命令用於管理 redis 字元串值,基本語法如下: 語法 實例 在以上實例中我們使用了 SET 和 GET 命令,鍵為 w3ckey。 Redis 字元串命令 下表列出了常用的 redis 字元串命令: 更多命令請參考:http://redis.readthedocs ...
  • Redis 鍵命令用於管理 redis 的鍵。 語法 Redis 鍵命令的基本語法如下: 實例 在以上實例中 DEL 是一個命令, w3ckey 是一個鍵。 如果鍵被刪除成功,命令執行後輸出 (integer) 1,否則將輸出 (integer) 0 Redis keys 命令 下表給出了與 Red ...
  • cloudera 的 QuickStart VM,為一種免安裝、免設定 Linux 及 Hadoop,已幫你建好 CDH 5.x、Hadoop、Eclipse 的一個虛擬機環境。下載後解壓縮,可直接以 VirtualBox、VMWare、Docker、KVM 任一虛擬機,開啟 Hadoop 2.x ...
  • 作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/5346833.html 環境: Windows 10 專業版 Oracle Database 12c Release 1 Flashback示例 場景1: 新建了一張表t_table1, 在某個時間點插入 ...
  • 1.mysql配置文件地址/etc/mysql/my.cnf 2.在[mysqld]在下方添加以下代碼[mysqld]init_connect='SET collation_connection = utf8_unicode_ci'init_connect='SET NAMES utf8'chara ...
  • 9. 存儲 9. 存儲... 1 9.1 存儲引擎... 1 9.1.1 WiredTiger存儲引擎... 1 9.1.1.1 文檔級別併發... 1 9.1.1.2 快照和檢查點... 2 9.1.1.3 Journaling. 2 9.1.1.4 壓縮... 2 9.1.1.5 記憶體使用... ...
  • 如下: 輸出如下: 這個腳本主要利用了mysqladmin提供的功能 ext是extended-status的縮寫~ ...
  • mysql 格式語句規範如何登陸你的資料庫?舉例! 如果你的是 編譯安裝的花 那就得去編譯安裝後的那個目錄中去,我的是安裝到/usr/local/mysql 下登陸資料庫:cd /usr/local/mysqlbin/mysql -u root -p然後輸入密碼mysql-> show databa ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...