クエリの速度に問題があります。現在、クエリは約16秒で実行されているため、速度を上げる必要があります。
私のテーブルスキームは次のとおりです。
ユーザー:
- id(int 10、主キー)
- ユーザー名(varchar 100)
- パスワード(varchar 100)
Users_meta:
- id(int 10、主キー)
- ユーザー(int 10)
- メタ(varchar 100)
- 値(ロングテキスト)
ユーザーメタテーブルのさまざまな行(名、姓など)のデータを列として返す必要があります。このクエリは機能しますが、実行が遅すぎます。
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句とORDERBY句をクエリに追加できる必要があります。
ご協力いただきありがとうございます。:)