Spec-Zone .ru
спецификации, руководства, описания, API

21.9.6.7. Предопределенные Константы

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 (строка)
Подсказка SQL, используемая, чтобы отправить запрос главному серверу репликации MySQL.
MYSQLND_MS_SLAVE_SWITCH (строка)
Подсказка SQL, используемая, чтобы отправить запрос одному из ведомых серверов репликации MySQL.
MYSQLND_MS_LAST_USED_SWITCH (строка)
Подсказка SQL, используемая, чтобы отправить запрос последнему используемому серверу MySQL. Последний используемый сервер MySQL может или быть ведущим устройством или ведомым сервером в установке репликации MySQL.

mysqlnd_ms_query_is_select связанный

MYSQLND_MS_QUERY_USE_MASTER (целое число)
Если mysqlnd_ms_is_select возвраты MYSQLND_MS_QUERY_USE_MASTER для данного запроса встроенный механизм разделения чтения-записи рекомендует отправить запрос главному серверу репликации MySQL.
MYSQLND_MS_QUERY_USE_SLAVE (целое число)
Если mysqlnd_ms_is_select возвраты MYSQLND_MS_QUERY_USE_SLAVE для данного запроса встроенный механизм разделения чтения-записи рекомендует отправить запрос ведомому серверу репликации MySQL.
MYSQLND_MS_QUERY_USE_LAST_USED (целое число)
Если mysqlnd_ms_is_select возвраты 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 (целое число)
Используйте, чтобы запросить уровень обслуживания непротиворечивость 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

MYSQLND_MS_VERSION (строка)
Сменная строка версии, например, "с 1.0.0" прототипами.
MYSQLND_MS_VERSION_ID (целое число)
Сменный номер версии, например, 10000.