» »

MariaDB - max key length is 3072 bytes

MariaDB - max key length is 3072 bytes

HotBurek ::

Dobro jutro.

Evo, nov dan, nov izziv.


Če v MariaDB (InnoDB) za stolpec, ki ima tip VARCHAR(1000), poskušam postavit UNIQUE INDEX, dobim error:

Specified key was too long; max key length is 3072 bytes

Zadevo rešim takole:
ALTER TABLE `database1`.`table1` ADD PRIMARY KEY(`column1`(750));

Zanimajo me dve stvari.

1. Ali je možno kako povečat max key length na nekaj večjega, kar bi prebavilo VARCHAR(1000)?

2. Ali zgornji index, ki ima limit na 750, zagotavlja UNIQUE pogoj tudi za stringe dalšje od 750 znakov?

(Pravkar testiral in kaže da zagotavlja pogoj "UNIQUE".)

3. Pa če smo že pri temu. Kakšna je prednost, če bi za index namesto "BTree" uporabil "Hash"? Vse vrednosti so URL-ji, vsi so "UNIQUE".

4. Ter še nekaj. Če je max key length 3072, in je stolpec VARCHAR(1000), kje je max do kamor lahko raztegnem index? Trenutno 1000 je preveč, 750 je ok. Je kakšna matematična razlaga, da se direkt najde zadnjo max cifro?

(Pravkar izračunal: 3072 / 4 = 768)
root@debian:/# iptraf-ng
fatal: This program requires a screen size of at least 80 columns by 24 lines
Please resize your window
  • spremenilo: HotBurek ()

kr?en ::

Kaj pa ce bi prebral MariaDB dokumentacijo?

bemfa ::

Daš TEXT pa je. URL je lahko dolg ~2k znakov, chrome baje podpira celo 2M znakov.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[MariaDB] Kako izpisat "last" in "second to last" ceno vsako v svoj stolpec?

Oddelek: Programiranje
5463 (326) HotBurek
»

Mariadb (InnoDB) istočasni insert v tabelo iz različnih procesov (strani: 1 2 )

Oddelek: Programiranje
877323 (3681) 2g00d4u
»

[MariaDB] Zakaj SQL enači "ab " z "ab" v WHERE pogoju?

Oddelek: Programiranje
101058 (643) DamijanD
»

[UWP] [C#]

Oddelek: Programiranje
424178 (2208) BivšiUser2
»

SQL vprasanje (strani: 1 2 )

Oddelek: Programiranje
688353 (5032) BivšiUser2

Več podobnih tem