суббота, 15 ноября 2014 г.

Неочевидные фишки в VS 2013

Структуры, а главное их создание например в javascript - ссылка

Список будет постоянно пополняться, по мере встречи новых полезных фишек

Auto grow all files


SQL Server 2008 Trace Flag -T 1117

Когда это полезно:
- в бд для хранения данных используется много файлов
- Изначально не получается определить размер записываемых данных, файлы заполняются и вступает в работу autogrow
- необходимо распараллелить вставку данных

Когда все файлы с данными в БД переполняются MSSQL начинает увеличивать файлы по одному. Т.е. увеличивается определенный файл, после чего в него вставляются все данных. Когда файл наполнится увеличивается следующий файл.
Таким образом у нас вся вставка ведется только в 1 файл.

Флаг 1117 позволяет указать MSSQL, что когда в файлах закончилось место необходимо все файл в БД увеличить, а не только 1.
как и все Trace Flag его можно выставить только на весь сервер сразу. Посмотрим как он себя покажет в бою.

Ссылка на статью

пятница, 14 ноября 2014 г.

Список файлов БД с доп информацией

Скрипт возвращает список файлов в БД, их размер и используемый размер

Спасибо Юлие Поповой за этот чудесный срипт


with cte as
  ( select name, physical_name, fileproperty( name, 'SpaceUsed' ) / 128.0 as space_used
         , size / 128.0 as file_size, max_size / 128.0 as max_size, [type], data_space_id, [file_id]
      from sys.database_files )
select name, physical_name
     , case
         when space_used < 512    then ltrim( str( space_used, 15, 2 ) ) + ' Mb'
         when space_used < 524288 then ltrim( str( space_used / 1024, 15, 2 ) ) + ' Gb'
                                  else ltrim( str( space_used / 1048576, 15, 2 ) ) + ' Tb'
         end as space_used
     , case
         when file_size < 512    then ltrim( str( file_size, 15, 2 ) ) + ' Mb'
         when file_size < 524288 then ltrim( str( file_size / 1024, 15, 2 ) ) + ' Gb'
                                 else ltrim( str( file_size / 1048576, 15, 2 ) ) + ' Tb'
         end as file_size
     , case
         when max_size < 512    then ltrim( str( max_size, 15, 2 ) ) + ' Mb'
         when max_size < 524288 then ltrim( str( max_size / 1024, 15, 2 ) ) + ' Gb'
                                 else ltrim( str( max_size / 1048576, 15, 2 ) ) + ' Tb'
         end as max_size
     , ltrim( str( 100 * space_used / file_size, 15, 2 ) ) + ' %' as fullness
  from cte
  order by [type], data_space_id, [file_id];
go


среда, 20 апреля 2011 г.

DevConf 2011



DevConf 2011 — конференция профессиональных веб-разработчиков.

Доклады от опытных специалистов в MySQL, PostgreSQL, PHP, Perl, Python, Ruby, Javascript, ASP.NET.

среда, 13 апреля 2011 г.

Многопоточность обращения от клиента к серверу

Совсем недавно столкнулся с проблемой, отправленные ajax запросы от клиента к серверу (сайт на asp.net) обрабатываются по очереди. Собственно статья о причинах и о том как это решить.

Во что это все выливалось:
После загрузки страницы, формируется 10 одновременных ajax запросов на сервер, каждый из которых обрабатывался до 30 секунд, но в среднем 2-5 секунд. Но вот проблема, пока эти запросы не выполнятся, то другую страницу с этого сайта открыть не возможно.