SELECT TOP 50 id, fid, uid, type, val, message FROM sw.dbo.logs WHERE uid=@id ORDER BY id DESC;
Почему именно топ 50 последних по id? Это запись по ключу. Они возьмутся гораздо быстрее. Проблема собственно в размере таблицы. Более 3 млн записей. От этого и тормоза в запросе.
SELECT * FROM ((SELECT TOP 50 id, fid, uid, type, val, message FROM sw.dbo.logs WHERE uid=@id ORDER BY id DESC;
SELECT TOP 50 id, fid, uid, type, val, message FROM sw.dbo.logs WHERE (fid=@id and type=100) ORDER BY id DESC) ORDER BY DESC;
Такое естественно не работает
Индексы: id ASC- первичный ключ
fid (ASC), type (DESC)
uid (ASC), status (ASC) - кластеризованный
Запросов очень много идет сюда. Но только с этим проблема.
Открыли новую вкладку. При ее открытии записывайте в local.storage, что вы ее открыли.
Потом на ней работайте с сервером. А когда поработали записываете это в local.storage и window.close();
На первой вкладке отслеживаете переменную local.storage. Если она поменялась выполняете дальнейшие шаги.
Получаю на выходе объекты, вот возникает как их хранить для дальнейшего вывода.
В общей сложности делаются 5 запросов, а потом все собранные данные отправляются в строку и выводятся.
1) у меня сервер не на PHP, поэтому со сторонними библиотеками проблемы
2) займусь этим вопрсом
3) посмотрел тяжеловат. Мне нужно лишь жирный шрифт, курсив, замена цвета и выравнивание.
Конвертируешь одну потом вторую и вычитаешь из большей меньшую и получаешь время в секундах.