2011-11-14 19 views
2

我想在SQL中使用对阵查询以下地理位置查询: -如何索引SQL数据库使用对阵查询

SELECT location.lid, location_instance.uid, users.name 
     , users.mail , location.latitude , location.longitude , users.picture, 
     (6371 * ACOS(COS(RADIANS($lat)) * COS(RADIANS(location.latitude)) 
     * COS(RADIANS(location.longitude) - RADIANS($lon)) + SIN(RADIANS($lat)) 
     * SIN(RADIANS(location.latitude)))) AS distance 
      from {location} LEFT JOIN {location_instance} ON location.lid = location_instance.lid 
      LEFT JOIN {users} ON location_instance.uid = users.uid WHERE MATCH (users.name) 
      AGAINST ('$search_term' IN BOOLEAN MODE) ORDER BY distance 

但我想我将不得不最初运行的查询索引在我的数据库中。请指引我NT多网络家伙

编辑:

回答

0

添加全文索引的SQL: -

alter table users add fulltext index (name); 

添加索引后: -

show index from users; 

您应该看到类似于: -

 
     Table: users 
    Non_unique: 1 
    Key_name: name 
Seq_in_index: 1 
Column_name: name 
    Collation: NULL 
Cardinality: ???? 
    Sub_part: NULL 
     Packed: NULL 
     Null: 
    Index_type: FULLTEXT 
    Comment: 
相关问题