在Rails應用程序中,我試圖修補現有數據的postgres中的fts。 這裏是我做了什麼: class AddNameFtsIndexToCompanies < ActiveRecord::Migration
def up
execute(<<-'eosql'.strip)
DROP INDEX IF EXISTS index_companies_name;
我在雲服務器上運行Postgres 9.1(我知道這很不理想,我們希望能在今年某個時候遷移)。該服務器經常在具有超過300萬條記錄的表上執行全文查詢。這是一個典型查詢的例子。 SELECT id
FROM Table
WHERE datepublished BETWEEN $$2012-05-01 00:00:00$$ AND $$2013-05-15 23:59:59$$
AND
select count(*) from user
where userid not in (select userid from ship where status in ('1','0'))
and field='web';
這個簡單的語句似乎運行了很長的時間,我該如何更改SQL,以便它可以運行得更快?謝謝。
我是PostgreSQL中的新手。有沒有改善以下查詢的執行時間的方式: SELECT s.id, s.name, s.url,
(SELECT array_agg(p.url)
FROM (
SELECT url
FROM pages
WHERE site_id = s.id ORDER BY created DESC LIMIT 5