私のiPhoneアプリケーションでは以下のクエリに問題があります。アプリケーションがクエリを実行すると、結果を処理するのにかなりの時間がかかります。多分1秒程度かかります...とにかくクエリを最適化できるかどうか疑問に思っていましたか?私はすべての私のSQLを処理するためにFMDBフレームワークを使用しています。私のSQLクエリの実行が遅くなり、最適化する必要があります
select pd.discounttypeid, pd.productdiscountid, pd.quantity, pd.value, p.name, p.price, pi.path
from productdeals as pd, product as p, productimages as pi
where pd.productid = 53252
and pd.discounttypeid == 8769
and pd.productdiscountid = p.parentproductid
and pd.productdiscountid = pi.productid
and pi.type = 362
order by pd.id
limit 1
私の文は、テーブルについては、以下のとおりです。
CREATE TABLE "ProductImages" (
"ProductID" INTEGER,
"Type" INTEGER,
"Path" TEXT
)
CREATE TABLE "Product" (
"ProductID" INTEGER PRIMARY KEY,
"ParentProductID" INTEGER,
"levelType" INTEGER,
"SKU" TEXT,
"Name" TEXT,
"BrandID" INTEGER,
"Option1" INTEGER,
"Option2" INTEGER,
"Option3" INTEGER,
"Option4" INTEGER,
"Option5" INTEGER,
"Price" NUMERIC,
"RRP" NUMERIC,
"averageRating" INTEGER,
"publishedDate" DateTime,
"salesLastWeek" INTEGER
)
CREATE TABLE "ProductDeals" (
"ID" INTEGER,
"ProductID" INTEGER,
"DiscountTypeID" INTEGER,
"ProductDiscountID" INTEGER,
"Quantity" INTEGER,
"Value" INTEGER
)
こんにちはsocha23は、私は、製品とproductimagesテーブルのための私の文を追加しました。テーブルに外部キーを追加するために必要なことを私に見せてもらえますか? – Peter
インデックスを作成するSQL文で自分の答えを更新し、試してみて問題が解決するかどうか確認してください – socha23
これはうまくいくようです。私は確かめるために別のクエリを試し続けます。それは私のクエリに基づいて必要なすべてのインデックスですか、私もproductdealsスキーマを追加しましたか?私は索引付けを読む必要があります! – Peter