Ülke, bölge, şehir ile Kayıt formu - Nasıl 2000000 mySQL kayıtları yönetmek için?

0 Cevap php

Ben PHP çerçeve CodeIgniter kullanarak bir web uygulaması oluşturma. Uygulaması kullanıcının ülke, bölge ve şehir ile ilgili doğru bilgiye dayanır.

Şu anda bir ülke ile kayıt formu (veritabanından doldurulur) aşağı kutusu var bırak, bir bölge açılır kutusunu (ülkeye bağlı olarak ajax kullanarak doldurulur) ve bir şehir açılır kutusunu (jquery otomatik tamamlama ülkeye ve bölgeye göre ajax kullanarak).

Benim sorunum şehir veritabanı 2 milyon girdileri vardır ve otomatik tamamlama için oldukça yavaş olduğunu. Ben başka bir yerde, örneğin yapılan bu tür bir şey gördük. Facebook konumu için otomatik tamamlama çok daha hızlıdır Olaylar.

Benim soru Ben bunu daha hızlı yapmak için (MySQL veritabanı, ajax aramaları optimize) bu süreci hızlandırabilir herhangi bir yolu yoktur, ya da Google Maps API gibi bir şey kullanarak bunu yapmanın başka bir yolu var, nedir?

Herhangi bir görüş / yorum / fikir takdir.

İşte benim tablolar için temel tanımlar şunlardır:

City:
countryid, char(2)
country, varchar(100)

Region:
countryid, char(2)
regionid, varchar(2)
regionName, varchar(50)

City:
cityid, int
countryid, char(2)
regionid, varchar(2)
asciName, varchar(100)
isoName, varchar(200)
population, int
long, float
lat, float

Ben ülke ve bölge masaları doldurmak için ISO standardı listeleri kullanılan ve şehir tablo için serbestçe kullanılabilir şehir veritabanı.

0 Cevap