我有以下查询
| ID | Service_Id | Service Option | Required | Optional |
----------------------------------------------------------
| 1 | 1 | Front | 1 | 0 |
| 2 | 1 | Rear | 1 | 0 |
| 3 | 1 | Pad Replacement| 0 | 1 |
完成大约需要2分钟。据我所知,提高性能的唯一方法是使用索引或更好的硬件。我尝试为以下列添加“one”索引
Quote
| ID | Customer Id | Vehicle Id |
---------------------------------
| 1 | 1 | 2 |
Quote Service
| Quote Id | Service Id | Service Option Id |
---------------------------------------------
| 1 | 1 | 1 |
| 1 | 1 | 3 |
| 1 | 2 | null |
它没有提高性能。我在错误的列上创建索引吗?请推荐我可以做些什么来提高性能。我正在使用Postgresql 9.1
答案 0 :(得分:2)
为获得最佳结果,我将使用以下特定列顺序定义以下2个索引:
to_id, unix_timestamp, from_id
(查询的主要部分)match_id, unix_timestamp
(对于子查询)很难确切地说,因为我们不知道你们不同专栏的基数。