Если вы хотите уменьшить интервал обновления, вам нужно учитывать только производительность: пропускную способность, нагрузку на сервер и нагрузку на клиента.
Загрузка клиента не должна быть проблемой, если это не бесполезное обновление в фоновом режиме. Например, вы можете обновить только если окно имеет фокус, чтобы уменьшить вытягивание бесполезных, никогда не виденных данных.
Так как div показывается один раз, и вы вызываете функцию show каждый раз, когда обновляете (хотя он все еще отображается, поскольку он никогда не был скрыт), вы можете удалить этот вызов. Я не совсем уверен, как jQuery реализовал это и какую выгоду вы можете получить здесь, но в любом случае это бесполезный вызов после первого вызова.
Возможно, вы также можете использовать это в функции обратного вызова, так как вы используете функцию загрузки. Вы должны проверить, хотя.
Кроме того, вам не нужно передавать пустую строку в функцию загрузки. Этот параметр данных является необязательным.
И поскольку я не вижу обновления контента, вы, вероятно, удалили его из кода перед вставкой сюда?
Для onclick jQuery предоставляет функцию click () http://api.jquery.com/click/
$("#category_dialog").click(function(event){
//refresh code here
});