A lehető legegyszerűbben: két db. signed 32-bites mező, ami a tartomány első és utolsó címét tartalmazza, meg egy kétbyte-os CHAR mező, amiben az országkód van és az összehasonlítás az csak annyi, hogy: SELECT `cc` FROM `ipcountry` WHERE '<IP CÍM LONG-BAN>' BETWEEN `ib` AND `ie` LIMIT 1 (Illetve a végén a LIMIT 1 az most került oda, mert most vettem észre, hogy nincs ott. :P ) Ezt lehetne kevesebb byte-ból is, ha nem a tartomány végét adnám meg, hanem a tartomány hosszát, mert akkor arra elég lenne egy unsigned 16-bites mező is, viszont akkor a keresés bonyolódna, mert minden sornál össze kéne adni a startot a hosszal: SELECT `cc` FROM `ipcountry` WHERE '<IP CÍM LONG-BAN>' BETWEEN `ib` AND `ib` + `il` LIMIT 1 És akkor már inkább legyen +2 byte / sor, ami eddig kb. +300k volt, most már +1.4M, dehát ez van.@miklos_akos:Mondjuk itt is a 2a0e:97c0:7ca::/48 tartomany az nem Palesztinaban van, hanem Izraelben... Jelezni kell nekik. De ez amúgy pont tök mindegy nekünk, mert itt nincs IPv6, szóval számunkra ez hóttmindegy.@miklos_akos:Latom, mar be is frissult a GeoIP, ez meg a rendes home lanbol jon, ami eddig ? country volt. :P Igen, épp írni akartam, hogy frissült a GeoIP databéz, csak közben alámposztoltál. És akkor vándékkönyv 4.34.11: BGAFC IPTools 2.7.2: a fenti LIMIT 1 hozzáadva. (Meg az új IP2Country database credit lent hozzáadva.) |