|
Скорость выборки данных.
|
|||
---|---|---|---|
#18+
Подскажите, как увеличить скорость выборки данных из таблицы базы данных sqlite ? Файл с базой данных занимает где-то 150 мегабайт. В таблицу загружено 300 тысяч записей, грузилось 10 часов. Таблица состоит из 20 полей, загружались данные в основные 10 полей. Набрал просто select * from table , выбирается очень долго, порядка 10 минут. С каким объемом данных рассчитана работать sqlite ? Какие альтернативные базы данных посоветуете для использования, без разворачивания серьезных субд? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2011, 09:39 |
|
Скорость выборки данных.
|
|||
---|---|---|---|
#18+
Также уточните нет никаких способов по массовой вставке данных? а то 300 тысяч записей вставлялись порядка 10 часов... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2011, 09:46 |
|
Скорость выборки данных.
|
|||
---|---|---|---|
#18+
Да кто же тебя знает как ты загружал данные ... Какой код, какие установки SQLite, какая версия SQLite, что за железо, где файл БД лежит и т.д. PS: С нормальным объемом расчитана работать SQLite. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2011, 09:53 |
|
Скорость выборки данных.
|
|||
---|---|---|---|
#18+
Dmitry ArefievДа кто же тебя знает как ты загружал данные ... Какой код, какие установки SQLite, какая версия SQLite, что за железо, где файл БД лежит и т.д. Использовал библиотеку Syste.Data.SQLite в .NET Код на C#, но если даже вручную написать Insert into в запросе, и такой запрос выполнить через соединение к бд в Visual Studio - время приблизительно такое же выходит. (оценивал по вставке 2000 записей, как через обычный запрос, так и через код) Через код, 300тысяч записей вставлялись примерно 10 часов. Операционная система Windows XP SP2, Файловая система NTFS, на диске свободно 12 гектар из 190 гектар. Винчестер обычный 7200. Установлен провайдер: SQLite ADO.NET 2.0/3.5 Setup, версия: 1.0.66.0 Dmitry ArefievPS: С нормальным объемом расчитана работать SQLite. Нормальный объем это сколько? С какими объемами Вам приходилось работать? Какая скорость выборки данных ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2011, 10:06 |
|
Скорость выборки данных.
|
|||
---|---|---|---|
#18+
Код на C# инициализируется команда c Insert По циклу добавляются параметры к Command и выполняется запрос ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2011, 10:07 |
|
Скорость выборки данных.
|
|||
---|---|---|---|
#18+
1) Заключить INSERT'ы в транзакции, штук по 1000. 2) Если железо неглючное, других читающих / пишущих БД соединений нет, то: Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2011, 11:28 |
|
Скорость выборки данных.
|
|||
---|---|---|---|
#18+
Алексей КрНормальный объем это сколько? С какими объемами Вам приходилось работать? Какая скорость выборки данных ? http://www.sql.ru/forum/actualthread.aspx?tid=775705 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2011, 11:29 |
|
Скорость выборки данных.
|
|||
---|---|---|---|
#18+
PRAGMA cache_size = 10000; PRAGMA synchronous = off; PRAGMA locking_mode = exclusive; PRAGMA journal_mode = wal; Поясните пожалуйста, куда это нужно прописывать (в c# коде)? И как пересоздавать БД, когда изначально необходимо в соединении прописывать DataSource базы данных Если же воспользоваться программой sqliteadmin, то там база создается и все, без нельзя выполнять никакие запросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2011, 11:53 |
|
Скорость выборки данных.
|
|||
---|---|---|---|
#18+
Еще вопрос, как осуществляется переиндексация индексов в таблицах в БД SQLite ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2011, 12:31 |
|
Скорость выборки данных.
|
|||
---|---|---|---|
#18+
Алексей КрЕще вопрос, как осуществляется переиндексация индексов в таблицах в БД SQLite ? {S|R}TF{W|M} !! http://www.sqlite.org/lang_reindex.html ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2011, 14:32 |
|
Скорость выборки данных.
|
|||
---|---|---|---|
#18+
Алексей КрПоясните пожалуйста, куда это нужно прописывать (в c# коде)? Каждая команда исполняется через Execute / ExecSQL или что там есть в c#. Алексей КрИ как пересоздавать БД, когда изначально необходимо в соединении прописывать DataSource базы данных Если же воспользоваться программой sqliteadmin, то там база создается и все, без нельзя выполнять никакие запросы. БД SQLite создается в большинстве тулов если ее нет на момент открытия. После этого БД пустая (размер = 0 байт) и можно указать размер страницы: Код: plaintext
PS1: Я из мира Delphi и c# / ado.net не знаю. Может кто другой ответит или спроси в соседнем форуме по c#. PS2: Большинство твоих вопросов отвечены на www.sqlite.org. Возьми и почитай. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2011, 14:37 |
|
|
start [/forum/topic.php?fid=54&msg=37122067&tid=2009227]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 351ms |
total: | 504ms |
0 / 0 |