2013-11-05 96 views
2

我在查找有關如何使用sequelize/postgres for node.js查找記錄的信息時遇到問題。node.js集合索引查找的文檔

指標的唯一文檔似乎是在這裏:http://sequelizejs.com/documentation#migrations-functions

爲了說明我在問什麼,讓我們來簡單的模型,其中有一個人有人員,項目和任務。每個人都參考了一些分配的任務,每個項目都有一些分配的任務。每個任務都有一個對項目和人員的反向引用。我們假設每個人每個項目只有一個任務。

比方說,我有一個人和一個項目,我需要找到是否有任何關聯的任務。我試圖通過人員/項目任務的索引來實現這一點。

我通過搜索,您還可以通過稍微直觀語法創建索引發現:

 global.db.sequelize.getQueryInterface().addIndex('Tasks', 
     ['ProjectId', 'PersonId'], 
     { 
      indexName: 'IndexName', 
      indicesType: 'UNIQUE' 
     } 

這似乎是工作,並創建了索引。但是,我無法在文檔或甚至互聯網上的任何地方找到有關如何使用此索引來查找任務的參考資料。

有什麼建議嗎?

回答

1

你對RDBMS應該如何工作有一個基本的誤解。

它應該根據所需的數據庫訪問模式爲每個查詢選擇最佳索引。這由RDBMS中的「規劃者」執行。

一些術語,你會發現搜索對你使用PostgreSQL有用: - 主鍵 - 外鍵 - 約束(以上兩種都是這些) - EXPLAIN ANALYZE(或者根據你的英語方言分析), - http://explain.depesz.com/ - 一個有用的網站上色上述解釋 - 的pg_dump/pg_restore的 - 確保你可以使用這些工具來備份你的數據庫

最後,讓自己的茶或咖啡的好一杯熱的,坐下來,並在最少瀏覽PostgreSQL手冊。至少它會讓你知道在哪裏可以找到進一步的信息。

祝你好運!

0

確實,我來自Cache的數據庫結構,實際上很少有人使用它。

我認爲這個問題的最佳答案是,您只是按照正常方式執行查找,而PostgreSQL負責其餘部分。很高興知道!

+0

使用評論回覆 –

相關問題