好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > MySQL索引長度限制原理解析

MySQL索引長度限制原理解析

熱門標簽:安徽ai電話電銷機器人有效果嗎 常州網絡外呼系統開發 400電話申請信用卡 萊西市地圖標注 在哪里申請400電話 銷售語音電話機器人 外呼系統電銷受騙 走過哪個省地圖標注 巫師三血與酒地圖標注

這篇文章主要介紹了MySQL索引長度限制原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

索引

TextField是不支持建立索引的

MySQL對索引字段長度有限制

innodb引擎的每個索引列長度限制為767字節(bytes),所有組成索引列的長度和不能大于3072字節

myisam引擎的每個索引列長度限制為1000字節,所有組成索引列的長度和不能大于1000字節

varchar的最大長度是指字符長度,若數據庫字符集為utf-8,則一個字符占3個bytes。因此在utf-8字符集下,innodb引擎創建的單列索引長度不能超過255個字符

mysql版本不同而導致的索引長度限制不同

在MySQL5.5版本,引入了innodb_large_prefix,用來禁用大型前綴索引,以便與不支持大索引鍵前綴的早期版本的InnoDB兼容

開啟innodb_large_prefix可以使單索引的長度限制達到3072字節(但是聯合索引總長度限制還是3072字節),禁用時單索引的長度限制為767字節

在MySQL5.5版本與MySQL5.6版本,innodb_large_prefix是默認關閉的,在MySQL5.7及以上版本則默認開啟

在MySQL8.0版本中,innodb_large_prefix已被移除

這就是我在自己機器(MySQL8.0)上可以創建1024字符(utf8字符集下表示3072字節)長的索引,而在服務器(MySQL5.5)上不行的原因

測試索引長度限制的腳本:

use test;
drop table if exists test_index_len;
create table 
test_index_len(long_char varchar(1025) primary key) ENGINE=InnoDB charset=utf8;
use test;
drop table if exists test_index_len;
create table 
test_index_len(
  long_char varchar(24),
  origin_str varchar(1000),
  key test_index(long_char, origin_str)) ENGINE=InnoDB charset=utf8;

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 快速了解MySQL 索引
  • 一篇文章掌握MySQL的索引查詢優化技巧
  • MySQL 索引知識匯總
  • Mysql索引類型與基本用法實例分析
  • MySQL8新特性之降序索引底層實現詳解
  • MySQL 的覆蓋索引與回表的使用方法
  • MySQL中索引失效的常見場景與規避方法
  • Mysql數據庫高級用法之視圖、事務、索引、自連接、用戶管理實例分析
  • MySQL字符串索引更合理的創建規則討論
  • 深入了解mysql索引

標簽:黃石 來賓 果洛 煙臺 河北 赤峰 陽江 鞍山

巨人網絡通訊聲明:本文標題《MySQL索引長度限制原理解析》,本文關鍵詞  MySQL,索引,長度,限制,原理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL索引長度限制原理解析》相關的同類信息!
  • 本頁收集關于MySQL索引長度限制原理解析的相關信息資訊供網民參考!
  • 推薦文章