2
有沒有簡單的方法來爲PostgreSQL中的=
運算符定義運算符別名?如何在PostgreSQL中定義運算符別名?
這是怎麼解決的!=
和<>
運營商?似乎只有<>
運算符在pg_operators中。 !=
運營商是否是硬編碼的?
這是使用自定義運算符的應用程序所需的。在大多數環境中,這個操作符應該像=
那樣工作,但是在某些情況下,我們通過創建自己的操作符和操作符類來定義特殊行爲。但是對於正常情況,我們的運營商應該只是=
運營商的別名,以便它對於使用該實施的應用是透明的。
那就是我到現在爲止所做的。但是爲了讓索引也能夠與該操作符一起工作,我還必須定義操作符類和家族,並且必須創建一個附加索引。例如,對於索引'CREATE INDEX idx_fk1 ON選項卡(fk);'另一個具有新操作類CREATE INDEX idx_fk2 ON選項卡(fk my_int4_ops)的索引;''是必需的,因此這兩個查詢都可以使用索引:'EXPLAIN ANALYSE SELECT * FROM tab WHERE fk = 1;'和'EXPLAIN ANALYSE SELECT * FROM tab where where fk !!!! 1;'。所以我想知道如果沒有創建很多新的指標,有沒有辦法。 – 2010-08-12 19:47:51
很多工作和很多錯誤的空間。我會再次考慮並尋找更好的解決方案。 – 2010-08-12 20:29:28