2016-12-19 44 views
0

問題 無法創建具有引用表中多行的索引列的表。下面是我想要創建的圖片示例。用於創建1:多索引關係的SQLite表結構

概述 想象一下(SQLite)表將持有股票股息支付。索引列設置爲股票代碼。但是,每個股票代碼都是指多個記錄,它們由時間戳組織而成。關於SQLite和大約15個其他教程的文檔似乎都集中在索引索引和記錄之間總是存在1:1關係的地方。我想創建一個1:多關係的索引。

查找將按符號找到合適的庫存,然後(可能)在第一列中的日期找到二級索引。但我找不到其他人試圖建立這種結構的例子。讓我覺得也許我沒有正確的方法,或者這只是一個特例。

Example Table Structure

回答

0

我不認爲你的問題其實是一個問題。在列上放置索引並不意味着它必須包含唯一值。對索引列中的值進行重複是完全合理的。當然,收益遞減。例如。如果一列中有一百萬行並且只有五個不同的值,那麼該列上的索引對您而言並不會有太大的幫助。

一個好的經驗法則是從您在where子句中使用的列的索引開始。然後運行查詢並查看您是否獲得滿意的性能。

+0

謝謝你的提示,邁克爾。我瞭解創建索引。但我不明白如何創建索引來引用多行。您能否提供一個SQLite示例或對其的引用?謝謝! – Adestin

+0

你沒有找到任何文件,因爲它不是你必須做的。只需使用標準語法:在表(列)上創建索引index_name。 「引用多行」沒有什麼特別之處。它會工作! –

+0

哦。哦。所以主鍵字段不需要是唯一的...所以該列中的每個字段都會有重複鍵......這給我提供了我需要的搜索結果。謝謝,邁克爾。這正是我需要聽到的。 – Adestin