10. よいところ
たとえば select * from table where id >= 26558 and id < 26560
and qty = 10000
パフォーマンスを組み立てられる
10
このSQL文で、レコードをどのように検索するか?
MySQLでは最後はオプティマイザが決める
≒
なのでパフォーマンスも同様
Transactdでは検索レコードを
プログラマが決めます
オプティマイザの気持ちになれます!
11. 11
アクセス方法を組み立ててみる
(select* from table where id >=26558
and id < 26560 and qty = 10000)
①インデックス(番号)を決める
table.index(key_id)
②検索開始キー値を指定する
table.keyValue(26558)
③条件の指定
query.where(“id”, “<“, 26560)
.and(“qty”, “=“, 10000)
④検索開始
table.read(query)
⑤どこかで検索をやめる (or最後まで)
• 見つかった数 (limit)
• スキップした数(reject)
• インデックスと条件からしてもう
マッチレコードはない(自動判定)