Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как выполняет SQL Server запросы
|
|||
|---|---|---|---|
|
#18+
У меня есть задача: конвертировать таблицы в текстовых файлах в таблицы SQL Server'а. Эти тестовый файлы достаточно большие (2-8 Mb) и их 14*3 штук. При этом данные в файлах и таблицах SQL Server'а могут повторяться (то есть в тектовом файле измененная запись базы). Написал программу, она конвертирует эти файлы, но, при этом, ужасно тормозит. При обработке каждого файла делается 5-7 тыс insert'ов или update'ов, а перед этим еще и дофига select'ов (для определения того, что делать: обновлять или вставлять). Но что самое главное, SQL Server начинает пожирать память и доходит до 255 Mb (он что там делает-то?). В этой связи несколько вопросов: 1. Почему растет SQL Server 2. Как написать такой запрос, чтобы не делать сначала select, потом insert или update Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2001, 17:29 |
|
||
|
Как выполняет SQL Server запросы
|
|||
|---|---|---|---|
|
#18+
1. Это нормально. Он кэширует данные. 2. Используйте insert/update с select подзапросами. 3. Используйте индексы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2001, 17:39 |
|
||
|
Как выполняет SQL Server запросы
|
|||
|---|---|---|---|
|
#18+
А можно ли отключить это кэширование? Да, еще забыл вот что, после того, как программа отработала, SQL Server продолжает занимать 255 Mb. Это тоже нормально? Он выгружать себя из памяти никогда не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2001, 19:34 |
|
||
|
Как выполняет SQL Server запросы
|
|||
|---|---|---|---|
|
#18+
Зачем? Ааа... Понял - пока идет загрузка данных, погонять в Quake! Можно ограничить количество памяти используемое SQL Server. Помоему в EM - правая кнопка -> Свойства-> Память. Хотя, если я правильно понял, ее у Вас и так не густо - всего 256. PS Утилиту bcp не пробовали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2001, 19:53 |
|
||
|
Как выполняет SQL Server запросы
|
|||
|---|---|---|---|
|
#18+
Да нет, памяти то мне не жалко ее пока хватает, просто хотелось узнать (а больше 255 SQL Server никогда и не занимал, наверное там такой предел стоит, завтра посмотрю). А утилиту bcp или bulk insert не использовал, потому что тектовые файлы разные. А так написал программу, а она по шаблону каждый файл и разбирает. А вообще, как еще можно увеличить скорость исполнения запросов? Спасибо за ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2001, 20:45 |
|
||
|
Как выполняет SQL Server запросы
|
|||
|---|---|---|---|
|
#18+
И еще, можно ли использовать bcp или bulk insert, если нужно не только добавлять новые данные, но и обновлять старые. И опять же еще кажется, что bulk insert не реагирует на хранимые процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2001, 21:26 |
|
||
|
Как выполняет SQL Server запросы
|
|||
|---|---|---|---|
|
#18+
Че это за хрень тута у Вас творится, господа? Так ясно... опять страдаем! :\ Вопрос 1-й (и самый главный): Что за SQL Server? Вопрос 2-й: С DTS(Data Transformation Services) и OLEDB provider'ом for ODBC или ODBC driver'ом for Text files знакомы? Советую познакомиться, а также со моим родным братишкой DTS Import Wizard'ом... Вопрос 3-й: А что за формат текстовых файлов? Благодарю за внимание ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2001, 00:54 |
|
||
|
Как выполняет SQL Server запросы
|
|||
|---|---|---|---|
|
#18+
А что значит жутко тормозит. Я год назад гонял на 7.0 100 мб каждое утро. Переходили со старой базы на новой. Приезжал к 7 в 9 уже все работали /*тестировали новую базу.*/ PC 733/256 RAM/ HDD 20IBM DTLA IDE + IWILL RAID - но просто как переходник. Да проц грузился на 80 - 95 %, но при этом я спокойно запускал проверочки и прочие процедурки. И не тормозило ничего. Общий механизм такой. Все тащим во временую базу на сервер. А от туда в цикле по записям. И все кузяво. Moth. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2001, 00:57 |
|
||
|
Как выполняет SQL Server запросы
|
|||
|---|---|---|---|
|
#18+
To DTS Wizard. Вопрос 1. MS SQL Server 7.0 Вопрос 2. Вроде, если я не путаю, в DTS, в bulk insert используется разделитель между столбцами, в моем же случае он не задан точно, то есть задана длина поля в символах, причем расположены данные в каждом поле хрен знает как, например (вместо пробелов, которые есть в файле, я здесь напишу "_", а то что-то он пропускаются в сообщении): a (20 символов) b(15 символов) c(10 символов) --------------------------------------------------------------------- aaa_________________ _____________bb cc________ aaaaa_______________ ____bbbb_______ ccccc_____ _________aaaaaaaaaaa bbbbbbbbbbbbbbb _______ccc Вопрос 3. Что ты имеешь в виду? Еще можно ли с помощью этих утилит не только добавлять данные, но и обновлять уже имеющиеся? To Moth. Тормозит в смысле скорости (как я понял это не тормозит, просто до этого я думал, что все это несколько шустрее работает). Если я в чем-то ошибаюсь, напишите пожалуйста, или напишите как можно сделать лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2001, 19:36 |
|
||
|
Как выполняет SQL Server запросы
|
|||
|---|---|---|---|
|
#18+
Мне кажется, самым быстрым способом в таком случае будет действительно сначала в промежуточные таблицы на сервер(как писал Moth) с помощью DTS пакета, он умеет работать не только с разделителями колонок но и как вариант с фиксированной длинной, ну а далее делать разбор на SQLе. С уважением, Сергей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2001, 05:47 |
|
||
|
|

start [/forum/topic.php?fid=46&tid=1824486]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
78ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 426ms |

| 0 / 0 |
