Как проанализировать HTML от JavaScript в Firefox?

JOIN порядок не имеет значения, механизм запросов реорганизует их порядок на основе статистики для индексов и прочего.

Для теста выполните следующие действия:

  • выберите Показать фактический план выполнения и выполните первый запрос
  • , измените порядок JOIN и теперь выполните запрос еще раз
  • сравните планы выполнения

Они должны быть идентичны, так как механизм запросов реорганизует их в соответствии с другими факторами.

Как прокомментировал другой ответ, вы можете использовать OPTION (FORCE ORDER), чтобы использовать именно тот порядок, который вы хотите, но, возможно, он будет не самым эффективным.

Как общее практическое правило, порядок JOIN должен быть с таблицей наименьших записей сверху, а большинство записей последними, так как в некоторых движках СУБД порядок может иметь значение, а также если для помощи использовалась команда FORCE ORDER ограничить результаты.

13
задан hmp 20 May 2009 в 18:39
поделиться

3 ответа

innerHTML должен работать нормально, например

// This would be after the Ajax request:
var myHTML = XHR.responseText;
var tempDiv = document.createElement('div');
tempDiv.innerHTML = myHTML.replace(/<script(.|\s)*?\/script>/g, '');

// tempDiv now has a DOM structure:
tempDiv.childNodes;
tempDiv.getElementsByTagName('a'); // etc. etc.
21
ответ дан 1 December 2019 в 20:43
поделиться

Зациклить свойство responseXML объекта XMLHttpRequest. Более того, если вы используете innerHTML для добавления responseText ответа в формате HTML, браузер проанализирует текст и соберет его в DOM, прежде чем даже добавить его в поток документов.

1
ответ дан 1 December 2019 в 20:43
поделиться

Если ваши данные - XHTML, значит, это действительный XML, тогда могут помочь DOMParser (Mozilla) или loadXML (IE). Если нет, я не могу придумать ничего лучше, чем удалить и затем передать его в innerHtml.

См. 21.1.3 в руководстве Фланагана по Javascript (5-е издание).

Колин

1
ответ дан 1 December 2019 в 20:43
поделиться
Другие вопросы по тегам:

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