1
を構築:は、このようなクエリの機能ベースのインデックスのOracle SQL
WITH params as (SELECT -28 as lat, 151 as lon
FROM dual)
SELECT sighting_id, sqrt(power(lat - latitude, 2) + power(lon - longitude, 2))
AS distance FROM sightings CROSS JOIN params
WHERE sqrt(power(lat - latitude, 2) + power(lon - longitude, 2)) =
(SELECT MAX(sqrt(power(lat - latitude, 2) + power(lon - longitude, 2)))
FROM sightings CROSS JOIN params);
はどのように正確に私はそれに機能ベースのインデックスを構築するに行きますか? sighting_idがプライマリキーですが、これはidがlongとlatsにそれを構築しなければならないのでしょうか? iveはいくつかの例を見上げましたが、誰も実際にここでIDを構築する方法を私に見せてくれないようです。
次のように実行計画は次のとおりです。
id operation name
0 select statement
1 table access full sighting
2 sort aggregate
3 table access full sighting
IVEが使用しようとした使用にいくつかのrestiontionsある: は目撃のSQRT( - 緯度、2)+電源(LON - 電源(緯度経度、2))のインデックスIDXをCREATEは、 は、withステートメントで定義されたパラメータを見ることができません – 101ldaniels