QA@IT
«回答へ戻る

回答を投稿

Like の部分一致だとインデックスが利用できないので遅くなりますね。

ここはテーブルを分割(正規化)して、インデックスを利用できるような設計に変更すべきです。

設計例
log_table (logID, logDate, ・・・・)
logID 主キー

log_user_table (logID, user_Code)
logID, userCode で複合主キー
logID, userCode にインデックス

select log_table.*
from log_table inner join log_user_table
     on log_table.logID = log_user_table.logID
where log_user_table.user_code = 'ユーザーコード';
Like の部分一致だとインデックスが利用できないので遅くなりますね。

ここはテーブルを分割(正規化)して、インデックスを利用できるような設計に変更すべきです。

設計例
log_table (logID, logDate, ・・・・)
logID 主キー

log_user_table (logID, user_Code)
logID, userCode で複合主キー
logID, userCode にインデックス


```SQL
select log_table.*
from log_table inner join log_user_table
     on log_table.logID = log_user_table.logID
where log_user_table.user_code = 'ユーザーコード';
```