Geralmente, serão necessárias mais do que essas duas opções.
Ping mede apenas o tempo do cliente, para o servidor e vice-versa (tempo de ida e volta)
Geralmente bancos de dados usam TCP, então primeiro você precisa enviar um pacote SYN para iniciar o handshake TCP (para simplificar, digamos 15ms * + cpu time, então você recebe e SYN / ACK (15ms + cpu time), enviar de volta um ACK e uma solicitação (pelo menos 15ms + tempo de CPU), o tempo para o DB processar a consulta e, em seguida, o tempo (15ms + cpu) para recuperar os dados e um pouco mais para ack e fechar a conexão.
Isto é claro, sem contar a autenticação (nome de usuário / senha) para o banco de dados, e sem criptografia (handshake SSL / DH ou o que for necessário).
* metade de um tempo de ida e volta, assumindo que a rota para lá e para trás é simétrica (metade do tempo para chegar lá e metade para voltar ... tempo de processamento da CPU para resposta de ping é muito curto)