PDA

Просмотр полной версии : [Вопрос] Многопоточный MySQL



x86
15.02.2019, 04:00
Почему плагин samp-plugin-mysql использует многопоточную реализацию, вместо асинхронной однопоточной? Используя последний вариант можно сократить расход по памяти, не сократив при этом расход по производительности.

DeimoS
17.02.2019, 19:27
Думаю, этот вопрос разумнее задать самому автору на github, если так интересно.

ziggi
17.02.2019, 22:05
Почему плагин samp-plugin-mysql использует многопоточную реализацию, вместо асинхронной однопоточной? Используя последний вариант можно сократить расход по памяти, не сократив при этом расход по производительности.

Если я правильно понял вопрос, то в этом плагине есть как многопоточные запросы (mysql_pquery), так и "асинхронные" (mysql_tquery).

x86
18.02.2019, 01:35
Если я правильно понял вопрос, то в этом плагине есть как многопоточные запросы (mysql_pquery), так и "асинхронные" (mysql_tquery).

Выяснил. Эти функции (кроме mysql_query) используют асинхронную модель, но с разным числом потоков. Функция mysql_pquery использует n потоков, а mysql_tquery всего лишь один. Тем не менее, как я уже сказал, они работают в асинхронной модели, поэтому они не ожидают результата отправленнго запроса.

ziggi
18.02.2019, 08:29
Тем не менее, как я уже сказал, они работают в асинхронной модели, поэтому они не ожидают результата отправленнго запроса.

В первом посте ты сказал всё в точности наоборот. А запрос, отправленный с помощью mysql_tquery, выполнится гарантированно после предыдущего, то есть результат предыдущих отправленных запросов ожидается.

x86
18.02.2019, 18:32
В первом посте ты сказал всё в точности наоборот. А запрос, отправленный с помощью mysql_tquery, выполнится гарантированно после предыдущего, то есть результат предыдущих отправленных запросов ожидается.

Я в первом посте и не знал как плагин работает. Теперь же знаю.