Из всех возможностей Вы перечисляете, единственная, это не ужасное злоупотребление существующей технологией (JavaScript), едва поддерживаемый (SVG, элемент Холста), или большая работа (Java) является Flash. Это было разработано как пакет векторной графики и совместимо с большим количеством браузеров, чем SVG и тег Canvas.
единственная причина я не предпочел бы Flash всем другим опциям, то, если Вы стремитесь к мобильным браузерам или не имеете бюджета для пакета Flash.
SQL Profiler (встроенный): Мониторинг с помощью SQL Profiler
SQL Benchmark Pro (коммерческий)
SQL Server 2008 имеет новые данные Сборщик
SQL Server 2005 (и более поздних версий) имеет отсутствующие индексы Dynamic Management View (DMV), которые могут быть весьма полезны (но только для планов запросов, находящихся в настоящее время в кэше планов): О функции отсутствующих индексов .
Существует также помощник по настройке ядра СУБД SQL Server , который выполняет разумную работу (просто не реализуйте все, что он предлагает!)
Я в основном использую Profiler и программу просмотра плана выполнения
Планы выполнения - это одна из первых вещей, на которую следует обратить внимание при отладке проблем с производительностью запросов. План выполнения покажет вам, сколько времени примерно тратится на каждую часть вашего запроса, и может быть использован для быстрого определения, если у вас отсутствуют индексы или есть дорогие соединения или циклы.
В mysql (может быть и в других базах данных) вы можете EXPLAIN
свой запрос, чтобы узнать, что думает об этом сервер баз данных. Обычно это используется для определения того, какие индексы следует создать. Он является встроенным, поэтому вы можете использовать его без установки дополнительного программного обеспечения.
В MSSQL есть советник по настройке базы данных, который часто рекомендует индексы для таблиц на основе общих запросов, выполняемых во время периода настройки, однако он не переписывает запрос за вас.
На мой взгляд. , опыт и эксперименты - лучшие инструменты для написания хороших SQL-запросов.
У Адама Мачаника есть простой инструмент под названием SqlQueryStress , который может пригодиться. Он разработан для использования «быстрого теста производительности по одному запросу с целью проверки идей или проверки изменений».