Вверх ↑
Этот топик читают: Гость
Ответов: 485
Рейтинг: 86
#1: 2009-03-18 20:43:37 ЛС | профиль | цитата
Следующая схема у меня пишет в базу 11000mc, читает 20mc Всего сто циклов. Не слишком ли медленная запись? Или я накосячил где-то...
code_12267.txt
карма: 0

0
файлы: 1code_12267.txt [1.7KB] [137]
Ответов: 590
Рейтинг: 19
#2: 2009-03-18 20:46:56 ЛС | профиль | цитата
хм.. у меня пишет за ~7700 а читает за 23-26...
карма: 0

0
Ответов: 1397
Рейтинг: 50
#3: 2009-03-18 20:49:37 ЛС | профиль | цитата
У меня пишет за 6700, а читает за 15 ;)
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1088
Рейтинг: 112
#4: 2009-03-18 21:22:47 ЛС | профиль | цитата
У меня пишет за 1875, а читает за 48-78 O_o
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 485
Рейтинг: 86
#5: 2009-03-18 21:34:22 ЛС | профиль | цитата
Есть другая схема, которая ищет файлы, обрабатывает и сохраняет в базу (10 столбцов). Так в ней, например, папка Windows (10 000 файлов) сканируется, обрабатывается и заносится в базу даже быстрее. Никак не могу понять почему...
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2009-03-18 21:50:37 ЛС | профиль | цитата
во-первых в случае чтения запрос не верный. Корректный результат даст такая строка

#sql
SELECT * FROM test limit 1

во-вторых у вас всех проблема с
- SQLite.dll
- диском
- ранее записанном файле test.db
- еще чем-то

100 запросов за такое время выполнятся не могут. У меня скажем при внесенной выше коррективе результат 160/6, для 1000 итераций - 3070/64
карма: 27
0
Ответов: 485
Рейтинг: 86
#7: 2009-03-18 22:20:31 ЛС | профиль | цитата
Dilma писал(а):
во-первых в случае чтения запрос не верный.
Согласен. Потом уже заметил. Правда, я не задавался целью корректно сравнивать соотношение чтение/запись.
Главное было выяснить нет ли в ошибок в схеме. Значит буду искать в другом месте причину... Спасибо!
карма: 0

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#8: 2009-03-18 22:31:05 ЛС | профиль | цитата
filyaxxxcom, а почему поле text формата CHAR, а не TEXT С текстом работает гораздо быстрее
карма: 22

0
Ответов: 485
Рейтинг: 86
#9: 2009-03-18 22:57:32 ЛС | профиль | цитата
nesco писал(а):
а почему поле text формата CHAR, а не TEXT
Затрудняюсь ответить... Попробую с TEXT.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#10: 2009-03-19 00:44:25 ЛС | профиль | цитата
Когда-то проверял в Delphi4. Сравнивал с аналогичной на Access. SQLite работает в несколько раз быстрее.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1397
Рейтинг: 50
#11: 2009-03-19 07:49:18 ЛС | профиль | цитата
С новым запросом и удалением старого test.db результат стал 15/0.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 5227
Рейтинг: 587
#12: 2009-03-19 10:44:18 ЛС | профиль | цитата
Валерий, я проделал тоже самое и увы потерпел фиаско , давай тогда уж представь всем рабочий пример
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 485
Рейтинг: 86
#13: 2009-03-19 10:45:26 ЛС | профиль | цитата
Валерий, а у тебя в командной строке компилятора есть -DSQLITE_OBJ?
карма: 0

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#14: 2009-03-19 11:22:46 ЛС | профиль | цитата
filyaxxxcom писал(а):
-DSQLITE_OBJ?

А откуда она там возьмется, по-умолчанию-то ее нет, если только сам приписал

filyaxxxcom, а ты сам с этой строкой, или без нее проверяешь

Те, используешь *.dll или OBJ
карма: 22

0
Ответов: 485
Рейтинг: 86
#15: 2009-03-19 14:28:01 ЛС | профиль | цитата
nesco писал(а):
используешь *.dll или OBJ
По разному пробовал. Разницы не заметил.

------------ Дoбавленo:
Решил(обошел) проблему следующим образом:

Add(SQLite_DB,7391133,392,128)
{
FileName="test1.db"
link(onOpen,9535213:doWork2,[])
}
Add(Hub,12917297,332,175)
{
OutCount=4
link(onEvent1,7391133:doOpen,[(353,181)(353,134)])
link(onEvent2,10327575:doExec,[])
link(onEvent3,10877364:doFor,[(369,195)(369,227)])
link(onEvent4,7391133:doClose,[(360,202)(360,141)])
}
Add(SQLite_Exec,10327575,392,182)
{
SQL="CREATE TABLE test (test_value)"
link(dbHandle,4295391:Var2,[])
}
Add(SQLite_Exec,11374054,437,221)
{
SQL="INSERT INTO test VALUES('www')"
link(dbHandle,4295391:Var3,[(443,170)])
}
Add(For,10877364,391,221)
{
End=100
link(onEvent,11374054:doExec,[])
link(onStop,4007593:doWork2,[(478,234)(478,141)])
}
Add(GetDataEx,4295391,385,161)
{
link(Data,7391133:dbHandle,[])
}
Add(Button,14901682,267,175)
{
Left=20
Top=15
Width=160
Caption="Записать 100 отдельно"
link(onClick,12917297:doEvent1,[])
}
Add(TimeCounter,7687750,658,128)
{
link(onStop,10959291:doAdd,[])
}
Add(HubEx,9535213,519,121)
{
link(onEvent,7687750:doStart,[])
}
Add(HubEx,4007593,527,128)
{
link(onEvent,7687750:doStop,[])
}
Add(SQLite_DB,14689953,446,317)
{
FileName="test2.db"
link(onOpen,9535213:doWork3,[(523,323)])
}
Add(Hub,13228450,386,364)
{
OutCount=4
link(onEvent1,14689953:doOpen,[(407,370)(407,323)])
link(onEvent2,9880347:doExec,[])
link(onEvent3,6652912:doEvent1,[(426,384)(426,426)])
link(onEvent4,14689953:doClose,[(414,391)(414,330)])
}
Add(SQLite_Exec,9880347,446,371)
{
SQL="CREATE TABLE test (test_value)"
link(dbHandle,14405165:Var2,[])
}
Add(SQLite_Exec,4798139,699,434)
{
link(dbHandle,14405165:Var3,[(705,359)])
}
Add(For,1179187,546,427)
{
End=100000
link(onEvent,10553985:doData,[])
link(onStop,12490689:doString,[])
}
Add(GetDataEx,14405165,439,350)
{
link(Data,14689953:dbHandle,[])
}
Add(Button,3708587,271,364)
{
Left=20
Top=45
Width=160
Caption="Записать 100.000 пакетом"
link(onClick,13228450:doEvent1,[])
}
Add(StrList,9583056,649,378)
{
}
Add(Hub,6652912,495,420)
{
OutCount=3
link(onEvent1,9583056:doClear,[(525,426)(525,391)])
link(onEvent2,1179187:doFor,[])
link(onEvent3,4007593:doWork3,[(531,440)])
}
Add(DoData,10553985,595,427)
{
Data=String(INSERT INTO test VALUES('www');)
link(onEventData,9583056:doAdd,[(638,433)(638,384)])
}
Add(FormatStr,12490689,649,434)
{
DataCount=1
Mask="BEGIN;\r\n%1\r\nCOMMIT;"
link(onFString,4798139:doExec,[])
link(Str1,9583056:Text,[])
}
Add(ListBox,10959291,705,135)
{
Left=190
Top=14
Width=130
Height=50
}
Множество транзакций (читай - обращений к диску) заменено на одну. Скорость впечатляет!
карма: 0

1
Голосовали:andrestudio
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)