
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
26.05.2004, 12:01
|
|||
|---|---|---|---|
|
|||
Какой метод добавления записей работает быстрее: через DBD или через конвеер |
|||
|
#18+
Мне необходимо в БД закинуть соержимое сквидовского Access.log. Нашел два варианта 1. Код: plaintext 1. Код: plaintext 1. 2. 3. 4. 5. 6. какой из них работает быстрее? Может есть чего еще лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
26.05.2004, 14:14
|
|||
|---|---|---|---|
Какой метод добавления записей работает быстрее: через DBD или через конвеер |
|||
|
#18+
несколько соображений. Скорость в первом случае будет немного выше, так как отсутсвует промежуточный слой DBI.. Но есть нюанс, DBI/DBD когда подставляет значение в statement, сразу заменяет все опасные символы в значении (типа " на \" ), в случае awk можно и ошибку поймать в sql выражении.. Я бы посоветовал 1) посмотреть на insert delayed вместо insert.. Ну это конечно на ваше усмотрение.. 2) Вставлять insert into... values (...),(...),(...) вместо того чтобы на каждую запись отдельный insert. Это быстрее.. 3) Запретить индексы на момент вставки. см. ALTER TABLE ... DISABLE KEYS, alter table ... enable keys. 4) еще вариант - с помощью awk/perl/sed преобразовать лог в вид, пригодный для load data infile, и потом загнать данные в mysql с помощью этой команды или с помощью утилиты mysqlimport. Это _намного_ быстрее.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1855120]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
156ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 482ms |

| 0 / 0 |
