|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Copyright 1997-2012 PHP Documentation Group.
Константы ниже определяются этим расширением, andwill только быть доступными, когда у расширения есть eitherbeen, скомпилированный в PHP или динамически загруженный во времени выполнения.
Подсказка SQL имела отношение
Пример 21.299. Пример, демонстрирующий использование mysqlnd_ms констант
mysqlnd плагин репликации и выравнивания нагрузки (mysqlnd_ms)
выполняет разделение чтения-записи. Это направляет запросы записи к главному серверу MySQL, и запросы только
для чтения к ведомым серверам MySQL. У плагина есть встроенная логика разделения чтения-записи. Все запросы,
которые запускаются с SELECT считаются запросами только для чтения, которые
тогда отправляются ведомому серверу MySQL, который перечисляется в сменном конфигурационном файле. Все
другие запросы направляются к главному серверу MySQL, который также определяется в сменном конфигурационном
файле.
Пользователь предоставленные подсказки SQL может использоваться, чтобы отвергнуть автоматическое разделение чтения-записи, получить полный контроль над процессом. Подсказки SQL являются стандартами совместимые комментарии SQL. Плагин отсканирует начало строки запроса для комментария SQL для определенных команд, которые тогда управляют перенаправлением запроса. Другие системы, включенные в обработку запроса, незатронуты подсказками SQL, потому что другие системы проигнорируют комментарии SQL.
Плагин поддерживает три подсказки SQL к прямым запросам или к ведомым серверам MySQL, главному серверу MySQL, или к последнему используемому серверу MySQL. Подсказки SQL должны быть помещены в начале запроса, который будет распознан плагином.
Для лучшей мобильности рекомендуется использовать строковые константы MYSQLND_MS_MASTER_SWITCH
, MYSQLND_MS_SLAVE_SWITCH и MYSQLND_MS_LAST_USED_SWITCH
вместо их литеральных значений.
<?php/* Use constants for maximum portability */$master_query = "/*" . MYSQLND_MS_MASTER_SWITCH . "*/SELECT id FROM test";/* Valid but less portable: using literal instead of constant */$slave_query = "/*ms=slave*/SHOW TABLES";printf("master_query = '%s'\n", $master_query);printf("slave_query = '%s'\n", $slave_query);?>
Вышеупомянутые примеры выведут:
master_query = /*ms=master*/SELECT id FROM testslave_query = /*ms=slave*/SHOW TABLES
MYSQLND_MS_MASTER_SWITCH (строка)
MYSQLND_MS_SLAVE_SWITCH (строка)
MYSQLND_MS_LAST_USED_SWITCH (строка)
mysqlnd_ms_query_is_select
связанный
MYSQLND_MS_QUERY_USE_MASTER (целое число) MYSQLND_MS_QUERY_USE_MASTER
для данного запроса встроенный механизм разделения чтения-записи рекомендует отправить запрос главному
серверу репликации MySQL.
MYSQLND_MS_QUERY_USE_SLAVE (целое число) MYSQLND_MS_QUERY_USE_SLAVE
для данного запроса встроенный механизм разделения чтения-записи рекомендует отправить запрос ведомому
серверу репликации MySQL.
MYSQLND_MS_QUERY_USE_LAST_USED (целое число) MYSQLND_MS_QUERY_USE_LAST_USED
для данного запроса встроенный механизм разделения чтения-записи рекомендует отправить запрос последнему
используемому серверу.
mysqlnd_ms_set_qos, качество фильтра
службы и уровня обслуживания имело отношение
MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL (целое число)
mysqlnd_ms_set_qos. Возможная непротиворечивость является качеством
значения по умолчанию службы, читая из асинхронного ведомого устройства репликации MySQL. Данные,
возвращенные в этом уровне обслуживания, могут или, возможно, не являются устарелыми, в зависимости от
того, оказывается ли выбранные ведомые устройства, тиражировали последние изменения от ведущего
устройства репликации MySQL или нет.
MYSQLND_MS_QOS_CONSISTENCY_SESSION (целое число)
mysqlnd_ms_set_qos. Непротиворечивость сеанса определяется как считано
Ваши записи. Клиент, как гарантируют, будет видеть свои последние изменения.
MYSQLND_MS_QOS_CONSISTENCY_STRONG (целое число)
mysqlnd_ms_set_qos. Сильная непротиворечивость используется, чтобы
гарантировать, что все клиенты видят каждого изменения других.
MYSQLND_MS_QOS_OPTION_GTID (целое число) mysqlnd_ms_set_qos параметризовать непротиворечивость сеанса.
MYSQLND_MS_QOS_OPTION_AGE (целое число)
mysqlnd_ms_set_qos параметризовать возможную непротиворечивость.
Другой
Номер версии плагинов может быть получен, используя MYSQLND_MS_VERSION или MYSQLND_MS_VERSION_ID . MYSQLND_MS_VERSION строковое
представление числового номера версии MYSQLND_MS_VERSION_ID , который является
целым числом такой как 10000. Разработчики могут вычислить номер версии следующим образом.
| Версия (часть) | Пример |
|---|---|
| Major*10000 | 1*10000 = 10000 |
| Minor*100 | 0*100 = 0 |
| Патч | 0 = 0 |
| MYSQLND_MS_VERSION_ID | 10000 |