Есть данные поиск по которым организован с помощью файловой системы,
стало интересно, а будет ли быстрее если использовать базу данных.
Структура такая ключ(имя файла), в файле одна или несколько
структур типа
struct Data {
float x;
float y;
float z;
};
сделал сначала в предположении что в каждом файле одна структура,
тогда запрос структуры с помощью ключа происходит практически мгновенно,
но вот обобщить это на случай нескольких "Data" не получается.
Т.е.
Table
key STRING, X FLOAT, Y FLOAT, Z FLOAT
select x,y,z from Table where key='a'
все прекрасно, а в случае когда Data несколько:
Table1
key STRING, key_id INTEGER
Table2
id INTEGER, X FLOAT, Y FLOAT, Z FLOAT, key_id INTEGER
но в этом случае время поиск по запросу
select x,y,z from Table2 where key_id in (select key_id from table1 where key='a')
на много порядков превосходит первый вариант,
можно ли как-то это ускорить (база данных sqlite, в будущем возможно mysql)?
приходит в голову только использование blob для данных
" Аноним 802 " <0@users.rsdn.ru> wrote in message
news:4121068@news.rsdn.ru...
> Есть данные поиск по которым организован с помощью файловой системы,
> стало интересно, а будет ли быстрее если использовать базу данных.
> можно ли как-то это ускорить (база данных sqlite, в будущем возможно mysql)?
> приходит в голову только использование blob для данных
SELECT x,y,z FROM Table2
INNER JOIN Table1
ON Table1.key_id = Table2.id
WHERE Table1.key = 'a'
Разумеется по key_id и id должен быть построен индекс.
Posted via RSDN NNTP Server 2.1 beta