3
私は訪問者のIPアドレスを記録するテーブルを持っています。このテーブルはcrm_recordGeoIP国のデータベースからMySQLテーブルの国のフィールドを更新
という名前で私はmaxmindデータベースに
SELECT country_name
FROM crm_geo_country
WHERE INET_ATON("82.145.208.23") BETWEEN beginip AND endip
を照会するために、このクエリを知っているこの表から
をMaxmindのGeoIP国のデータベースをダウンロードしてcrm_recordに国フィールドを更新したいしています
しかし、crm_recountの国フィールドをcrm_geo_countryから更新できるようにするUPDATEクエリの構文が必要です
すごい、このような高速回答ありがとう!私はあなたが効率について何を意味しているかを見ます。両方のテーブルに数値形式で保存する必要がありますか? –
@Michael:はい、 'crm_record.address'にインデックスを作成します。しかし、 'crm_geo_country'は常にクエリの中で先行していますが、それはかなり大きいので良くありません。代わりに 'crm_geo_country'に範囲を' LineString'として格納することを検討してください。詳細についてはこちらを参照してください。http://explainextended.com/2009/04/04/banning-ips/ – Quassnoi
もう一度おねがいします。ところで、あなたはフリーの仕事をしていますか? –