我有一个关于查询速度的问题 - 目前它运行大约需要16秒钟,我需要加快速度!
我的表结构如下:
用户:
- id(int 10,主键) - username(varchar 100) - password(varchar 100)
用户元数据:
- id(int 10,主键) - user(int 10) - meta(varchar 100) - value(longtext)
我需要从用户元数据表中返回各种行的数据(例如名字、姓氏等)作为列。这个查询可以完成任务,但运行得太慢了:
我需要能够在查询中添加WHERE和ORDER BY子句。
谢谢你的帮助。 :)
我的表结构如下:
用户:
- id(int 10,主键) - username(varchar 100) - password(varchar 100)
用户元数据:
- id(int 10,主键) - user(int 10) - meta(varchar 100) - value(longtext)
我需要从用户元数据表中返回各种行的数据(例如名字、姓氏等)作为列。这个查询可以完成任务,但运行得太慢了:
SELECT
Users.id as id,
Users.username as username,
firstName.value as metaFirstName,
lastName.value as metaLastName,
userLevel.value as metaUsername,
employer.value as metaEmployer,
gto.value as metaGTO
FROM Users
LEFT JOIN (Users_meta as firstName) ON (firstName.user = Users.id AND firstName.meta = 'first_name')
LEFT JOIN (Users_meta as lastName) ON (lastName.user = Users.id AND lastName.meta = 'last_name')
LEFT JOIN (Users_meta as userLevel) ON (userLevel.user = Users.id AND userLevel.meta = 'user_level')
LEFT JOIN (Users_meta as employer) ON (employer.user = Users.id AND employer.meta = 'employer')
LEFT JOIN (Users_meta as gto) ON (gto.user = Users.id AND gto.meta = 'gto')
我需要能够在查询中添加WHERE和ORDER BY子句。
谢谢你的帮助。 :)
SHOW INDEXES FROM table1
)? - Salman A