При преобразовании некоторых данных в SQL Azure я заметил неожиданное поведение. Я сделал быструю проверку, и это результат:SQL Azure slow performance
У меня есть одна таблица в БД с 1M-записями, а размер БД - 230 МБ, без некластеризованного индекса.
Я сделал простой тест, создав новую таблицу с той же самой схемой и просто копируемся данными из одной таблицы в другую, как это:
INSERT INTO [dbo].[lete_new]
([str_en]
,[str_en_fp])
SELECT [str_en] ,[str_en_fp] FROM [dbo].[lete]
Прежде всего, мне локальную рабочей станции (SELECT [str_en ], [str_en_fp] FROM [dbo]. [lete]) занимает 8 секунд, поэтому сверху это время, которое требуется для вставки. Когда я запустил вставку на своем локальном WS, понадобилось 10 секунд, чтобы скопировать данные в новую таблицу. Большой сюрприз заключался в том, что когда я запустил тот же запрос на Azure, это заняло 30 секунд.
Я знаю, что это не совсем вопрос программирования, но все равно это повлияет на производительность программы, и я хочу знать, почему это падение производительности?
Правильно, после прочтения вашего ответа, я помню, что SQL Azure хранит не менее 3 экземпляров БД в любое время в разных зонах в центрах обработки данных. При выполнении обновления на одном БД, SQL Azure требует, чтобы по крайней мере 2 БД получили изменение до того, как оно разрешило совершить. –