2012-05-03 3 views
0

Иногда приложение требует довольно много SQL-запросов, прежде чем оно сможет сделать что-нибудь полезное. Мне было интересно, есть ли способ отправить их в виде пакета в базу данных, чтобы избежать накладных расходов между клиентом и сервером?Группировка SQL-запросов

Если нет стандартного способа сделать это, я использую привязки python MySQL.

PS: Я знаю, что MySQL имеет функцию executemany(), но это только для одного и того же запроса, выполняемого много раз с разными параметрами, не так ли?

+0

В большинстве случаев было бы быстрее/эффективнее выполнять запросы параллельно. – symcbean

+0

Вы когда-нибудь задумывались о хранимых процедурах? –

+0

Я не знаю, как работает соединитель mysql-python, но во многих случаях можно одновременно отправлять несколько запросов, разделенных ';' (возможно, после включения разрешения для разрешения). – eggyal

ответ

0

Этот процесс лучше всего работает на вставках

  • сделать все, что вам SQL запросов в хранимые процедуры. В конечном итоге они станут дочерними хранимыми процедурами.
  • Создайте процедуру Master Store, чтобы запустить все остальные хранимые процедуры.
  • Изменить мастер хранимой процедуры, чтобы принять значения, необходимые для детей хранимых процедур
  • Изменить мастер хранимой процедуры принимать команды с помощью «если» заявления, чтобы знать, какие ребенка хранимые процедуры для запуска

Если вам нужно возвращать данные из базы данных используйте 1 хранимую процедуру в то время.

 Смежные вопросы

  • Нет связанных вопросов^_^