cari
Rumahpangkalan datatutorial mysqlBagaimana untuk Menyelesaikan Ralat 'Kunci Ditentukan Terlalu Panjang; panjang kunci maksimum ialah 1000 bait' dalam MySQL?

How to Solve the

Mengendalikan Ralat "Kunci Ditentukan Terlalu Panjang" untuk Definisi Indeks

Mesej ralat "Kunci yang ditentukan terlalu panjang; panjang kunci maksimum ialah 1000 bait" menunjukkan isu dengan panjang indeks yang ditakrifkan untuk jadual. Ralat ini boleh berlaku walaupun pertanyaan telah berjaya berfungsi pada masa lalu, kerana ia boleh dipengaruhi oleh faktor seperti versi pelayan pangkalan data, jenis indeks dan data lajur.

Dalam pertanyaan yang disediakan:

CREATE TABLE IF NOT EXISTS `pds_core_menu_items` (
  ...
  KEY `index` (`parent_menu_id`,`menu_link`,`plugin`,`alias`)
  ...
)

Indeks indeks ditakrifkan pada empat lajur: id_menu_induk, pautan_menu, pemalam dan alias. Panjang gabungan lajur ini melebihi 1000 bait, mengakibatkan ralat.

Untuk menyelesaikan isu ini, terdapat beberapa pendekatan:

1. Kurangkan Panjang Lajur Indeks:

Cara paling mudah untuk membetulkan ralat ialah mengurangkan panjang lajur indeks. Ini boleh dilakukan dengan menggunakan indeks awalan, di mana hanya sebahagian daripada data lajur diindeks. Contohnya:

KEY `index` (`parent_menu_id`,`menu_link`(50),`plugin`(50),`alias`(50))

Indeks awalan disyorkan kerana ia mengurangkan saiz indeks dengan ketara sambil mengekalkan carian yang cekap.

2. Tentukan Panjang Awalan Optimum:

Untuk menentukan panjang awalan optimum bagi setiap lajur, adalah berguna untuk menganalisis pengedaran data menggunakan pertanyaan seperti:

SELECT
 ROUND(SUM(LENGTH(`menu_link`)<p>Pertanyaan ini memberikan peratusan baris dengan nilai lajur kurang daripada panjang tertentu. Berdasarkan keputusan ini, anda boleh memilih panjang awalan yang sesuai untuk meminimumkan saiz indeks sambil mengekalkan prestasi yang baik.</p><p><strong>Pertimbangan Tambahan:</strong></p><p>Adalah penting untuk ambil perhatian bahawa ralat juga boleh berlaku jika jumlah panjang indeks melebihi 1000 bait, walaupun semua lajur individu adalah lebih pendek daripada 1000 bait. Oleh itu, apabila mentakrifkan indeks pada berbilang lajur, panjang gabungan harus dipertimbangkan.</p><p>Selain itu, jenis data INT(1) dan INT(32) tidak berkaitan dengan isu panjang indeks. Walau bagaimanapun, perlu diingat bahawa argumen berangka dalam jenis data ini tidak menjejaskan storan atau julat nilai, sebaliknya memformat semasa paparan.</p>

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Kunci Ditentukan Terlalu Panjang; panjang kunci maksimum ialah 1000 bait' dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Cara Memberi Kebenaran kepada Pengguna MySQL BaruCara Memberi Kebenaran kepada Pengguna MySQL BaruMay 09, 2025 am 12:16 AM

TograntpermissionstonewMySQLusers,followthesesteps:1)AccessMySQLasauserwithsufficientprivileges,2)CreateanewuserwiththeCREATEUSERcommand,3)UsetheGRANTcommandtospecifypermissionslikeSELECT,INSERT,UPDATE,orALLPRIVILEGESonspecificdatabasesortables,and4)

Cara Menambah Pengguna di MySQL: Panduan Langkah demi LangkahCara Menambah Pengguna di MySQL: Panduan Langkah demi LangkahMay 09, 2025 am 12:14 AM

Toaddusersinmysqleffectivelyandsecurely, ikutiTheSesteps: 1) usethecreateUserStatementToadDanewuser, spesifyingthehostandastrongpassword.2) GrantnessaryPrivileGeSingSupingTheGrantement, ADHERINGTOTHEPRINCIPREFLEFLEASE.3)

MySQL: Menambah pengguna baru dengan kebenaran yang kompleksMySQL: Menambah pengguna baru dengan kebenaran yang kompleksMay 09, 2025 am 12:09 AM

TOADDANEWUSERWITHCEPLEXPELPISIONSIONSIONMYSQL, FOLLONGHESESTEPS: 1) COTETETHEUSERWITHCEATEUSER'NEWUSER '@' LOCSOUSTHOST'IDENTIFIFYBY'PA ssword ';. 2) grantrearaccesstoalltablesin'mydatabase'withgrantselectonmydatabase.to'newuser'@'localhost' ;. 3) GrantWriteAccessto '

MySQL: Jenis dan Collations String DataMySQL: Jenis dan Collations String DataMay 09, 2025 am 12:08 AM

Jenis data rentetan di MySQL termasuk char, varchar, binari, varbinary, gumpalan, dan teks. Kolaborasi menentukan perbandingan dan menyusun rentetan. 1.BARI sesuai untuk rentetan panjang tetap, Varchar sesuai untuk rentetan panjang berubah-ubah. 2.Binary dan Varbinary digunakan untuk data binari, dan gumpalan dan teks digunakan untuk data objek besar. 3. Peraturan menyusun seperti UTF8MB4_UNICODE_CI mengabaikan kes atas dan bawah dan sesuai untuk nama pengguna; UTF8MB4_BIN adalah sensitif kes dan sesuai untuk bidang yang memerlukan perbandingan yang tepat.

MySQL: Berapa panjang yang harus saya gunakan untuk varchars?MySQL: Berapa panjang yang harus saya gunakan untuk varchars?May 09, 2025 am 12:06 AM

Pemilihan panjang lajur MySqlvarchar terbaik harus berdasarkan analisis data, pertimbangkan pertumbuhan masa depan, menilai kesan prestasi, dan keperluan set aksara. 1) menganalisis data untuk menentukan panjang biasa; 2) Rizab ruang pengembangan masa depan; 3) memberi perhatian kepada kesan panjang besar pada prestasi; 4) Pertimbangkan kesan set aksara pada penyimpanan. Melalui langkah -langkah ini, kecekapan dan skalabiliti pangkalan data dapat dioptimumkan.

Blob MySQL: Adakah terdapat had?Blob MySQL: Adakah terdapat had?May 08, 2025 am 12:22 AM

MySqlblobShavelimits: TinyBlob (255bytes), Blob (65,535bytes), MediumBlob (16,777,215bytes), andlongblob (4,294,967,295bytes) Obsefectively: 1) PertimbangkanPerformanceImpactsandstorelargeblobsexternally; 2) ManageBackupSandReplicationCarefly; 3) UsePathsinst

MySQL: Apakah alat terbaik untuk mengautomasikan penciptaan pengguna?MySQL: Apakah alat terbaik untuk mengautomasikan penciptaan pengguna?May 08, 2025 am 12:22 AM

Alat dan teknologi terbaik untuk mengautomasikan penciptaan pengguna di MySQL termasuk: 1. MySqlworkbench, sesuai untuk persekitaran kecil dan sederhana, mudah digunakan tetapi penggunaan sumber yang tinggi; 2. Ansible, sesuai untuk persekitaran pelbagai pelayan, lengkung pembelajaran yang mudah tetapi curam; 3. Skrip python adat, fleksibel tetapi perlu memastikan keselamatan skrip; 4 Boneka dan chef, sesuai untuk persekitaran berskala besar, kompleks tetapi berskala. Skala, keluk pembelajaran dan keperluan integrasi harus dipertimbangkan ketika memilih.

MySQL: Bolehkah saya mencari di dalam gumpalan?MySQL: Bolehkah saya mencari di dalam gumpalan?May 08, 2025 am 12:20 AM

Ya, yoursearchinsideablobinmysqlusingspecifictechniques.1) converttheblobtoautf-8stringwithconvertfunctionandsearchusing.2) forcompressedblobs, usedcompressbeforeconversion.3) overperformanceimpacsanddata

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.