0
CREATE TABLE stop_times
(
trip_id int NOT NULL,
arrival_time time NOT NULL,
departure_time time NOT NULL,
stop_id int NOT NULL,
stop_sequence int NOT NULL,
FOREIGN KEY(trip_id) REFERENCES trips,
FOREIGN KEY(stop_id) REFERENCES stops
);
CREATE TABLE trips
(
trip_id int NOT NULL,
trip_name text NOT NULL,
trip_start time,
trip_end time,
PRIMARY KEY(trip_id)
);
我想要做的是在向stop_times表添加/更新/刪除(a)記錄之後,旅行表將更新trip_start作爲min(arrival_time)作爲一組trip_ids和trip_end作爲trip_id組的最大值(arrival_time)。Postgresql觸發器
你爲什麼要存儲這些信息?它可以很容易地使用SELECT語句來檢索。關係數據庫中的一條規則:不要存儲可以從其他數據派生的數據。 – 2012-01-28 00:01:31
我認爲它會更快,因爲數據只會定期更新(每個月或2次),而stop_times是一個相對較大的表(約900,000行)。 – visi0n 2012-01-28 00:11:20
現在就去看看,只有在真的慢(太慢)時才進行優化。不要「假設」某事更快。測試它,然後決定。順便說一句。什麼對你來說「比較大」? – 2012-01-28 00:15:33