Autor | Zpráva | ||
---|---|---|---|
souki Profil |
#1 · Zasláno: 20. 7. 2008, 12:28:10
Potřebuju tabulku, kde budou IP adresy. Bude se z ní pouze číst a zjišťovat, zda daná adresa v tabulce je. Formát data je libovolný.
A teď přemýšlím, co bude rychlejší - rozdělit IP adresu do sloupců podle částí a použít indexy? Nebo mít jediný sloupeček varchar? Nebo ještě převést adresu do hexadecimálního fomrátu, aby se mu podle ní lépe řadilo? |
||
tiso Profil |
#2 · Zasláno: 20. 7. 2008, 12:46:54 · Upravil/a: tiso
Na toto ti stačí jeden stĺpec, hexa tvar by mal byť najrýchlejší kvôli najmenšej (a konštantnej) dĺžke, použitie indexu závisí na tom čo máš ďalej v tej tabuľke a či sú unikátne tie IP-čky...
|
||
souki Profil |
#3 · Zasláno: 20. 7. 2008, 12:49:45
IPčka jsou unikátní a bude jich asi 200 000. Říkal jsem si, že když to bude ve sloupcích, tak to index bude moct prohledávat postupně - podle prvního sloupce zredukuje výsledky třeba 100x apod. Ale pak mě připsaní dotazu napadlo to hexa a to bude asi nejlepší
|
||
DJ Miky Profil |
#4 · Zasláno: 20. 7. 2008, 12:51:41
Nebo si můžeš IP převést na tzv. long variantu a uložit ji do int.
1.2.3.4 = 1 * 16777216 + 2 * 65536 + 3 * 256 + 4 = 16909060 |
||
souki Profil |
#5 · Zasláno: 20. 7. 2008, 12:57:49
DJ Miky
Pravda. To bude asi úplně nejlepšejší :) |
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0