Лучший способ протестировать, если строка существует в таблице MySQL

Вы упоминаете, что мы должны использовать "некоторую форму XML"? Что Вы думаете, XHTML и XAML?

Также XML является все еще просто плоским файлом.

313
задан OMG Ponies 4 November 2009 в 11:09
поделиться

5 ответов

You could also try EXISTS:

SELECT EXISTS(SELECT * FROM table1 WHERE ...)

and per the documentation, you can SELECT anything.

Traditionally, an EXISTS subquery starts with SELECT *, but it could begin with SELECT 5 or SELECT column1 or anything at all. MySQL ignores the SELECT list in such a subquery, so it makes no difference.

442
ответ дан 23 November 2019 в 01:08
поделиться

Я бы выбрал COUNT (1) . Это быстрее, чем COUNT (*) , потому что COUNT (*) проверяет, является ли хотя бы один столбец в этой строке! = NULL. Вам это не нужно, особенно потому, что у вас уже есть условие (предложение WHERE ). COUNT (1) вместо этого проверяет достоверность 1 , которая всегда действительна и требует гораздо меньше времени для проверки.

0
ответ дан 23 November 2019 в 01:08
поделиться

A COUNT query is faster, although maybe not noticeably, but as far as getting the desired result, both should be sufficient.

1
ответ дан 23 November 2019 в 01:08
поделиться

Для таблиц, отличных от InnoDB, вы также можете использовать таблицы информационной схемы:

http://dev.mysql.com/doc/refman/5.1/en/tables-table.html

-1
ответ дан 23 November 2019 в 01:08
поделиться

COUNT(*) are optimized in MySQL, so the former query is likely to be faster, generally speaking.

-2
ответ дан 23 November 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: