Проверка правильности подключения MySQL в источнике данных: SELECT 1 или что-то лучше?

Я настраиваю отказоустойчивый кластер на MySQL в архитектура. Я также настраиваю свой источник данных JBoss и ищу лучший способ проверить свое соединение, зная, что оно предназначено для Alfresco (который использует Ibatis).

Даже я много раз практиковался в MySQL, но не очень хорошо знаю внутренние механизмы выполнения в MySQL Server.

Пока что я использую этот запрос для проверки своего SQL-соединения (например, в этой теме: Отказ базы данных в источниках данных Jboss)

SELECT 1;

Вот полный источник данных.




    alfresco-datasource
    
        jdbc:mysql://10.1.2.13,10.1.2.14:3306/alfresco
    
    com.mysql.jdbc.Driver
    alfresco
    alfresco
    
        org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
    


    false
    false

    
    
    

    SELECT 1
    
        org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker
    


    
    
        com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter
    
    
        com.mysql.jdbc.integration.jboss.MysqlValidConnectionChecker
    

    
        mySQL
    



У меня есть несколько вопросов, на которые я не могу ответить самостоятельно:

  • Не будет ли этот простой запрос кэшироваться Ibatis (или любым другим видом или ORM)? Это означало бы, что он может вернуть мне ложные результаты.
  • Не будет ли этот запрос слишком простым? Действительно ли он пытается запустить внутренние механизмы, которые будут отражать работоспособность сервера? Или он будет проверять только соединение?
  • Действительно ли это надежный тест?
  • Существуют ли какие-либо другие виды тестов (например, уже интегрированные с Connector/J)?
  • Производительность также важна для меня, поэтому SELECT 1 является хорошим компромиссом между проверкой работоспособности и производительностью.

Не стесняйтесь указать мне несколько ссылок (внутри Stackoverflow или нет). Если на этот вопрос уже был дан ответ (насколько я искал, похоже, нет), я, очевидно, удалю эту тему.

Я был бы очень признателен за обмен опытом разработчиков и администраторов mysql. Я ищу лучший способ сделать это.

Спасибо за помощь.

11
задан Community 23 May 2017 в 12:10
поделиться