我有一個表像這樣:我需要最新紀錄聯接(PostgreSQL的)
call_activity (
call_id TEXT,
activity_type TEXT,
activity_time TIMESTAMP,
PRIMARY KEY(call_id, activity_type, activity_time)
)
activity_type
可在約9種不同的字符串之一:
'started'
'completed' (about 5 variations on this)
'other' (these are the states that I want to display)
呼叫有一系列的事件,從'開始'開始,並在一個完成的事件(5個或更多可能的事件之一)中達到高潮。我需要用兩列來看這個:第一列必須是一個調用的「開始」事件的活動時間,第二列必須是該調用的最近事件。此視圖必須只有沒有完成事件的調用。
我有一套嵌套連接,但它們很慢。我需要一個合理的最佳觀點。誰能幫我?
您將call_id和activity_type作爲TEXT的事實並不完全有助於提高性能。有沒有任何理由讓他們作爲TEXT而不是,例如,varchar(或甚至整數/ bigint的call_id)? – ChssPly76 2009-09-18 19:28:26
撇開的類型 - 在哪個主題上,我同意你,順便說一句 - 任何想法如何優化它原來的? – 2009-09-18 19:57:12
TEXT和varchar之間沒有性能差異。一個整數顯然會更快,但如果模型支持。 – 2009-09-19 14:19:59