Using of TextWriter by StringBuilder

Hi, today I want to share with you very simple idea of using correctly TextWriter class. You can imagine that TextWriter is created on the network stream solution in SOA (WCF), REST (WebAPI) or Web (ASP.NET) application. When you write to that stream very often you could have a lot of unnecessary round-trips between clients and server. But there is nice technique with StringBuilder I want to share with you in below tests. I think nothing more Continue ReadingUsing of TextWriter by StringBuilder

SQL Ninja gets Products from Group Tree CTE

Hi, today I want to show you comparison of 2 possible techniques fro get data about all Products mapped to the Product Groups tree. I wrote as usual one T-SQL script that you can run each time you want to modify something to recalculate your results and check how they perform in your SQL Server. There are 2 nice things you can get from provided example. First is 2 ways of calculation that you can choose from. Continue ReadingSQL Ninja gets Products from Group Tree CTE

SQL Ninja moves Data in Auto Balancer Loop

Hi, today I want to share with you one of my last invention. That is extremely useful when you need to move data for example to historical or archive tables on your SQL Server. Imagine that the same moment you move your data someone can with lower probability use table you move data from. When you decide to insert data to new table and then delete them of course in delete query you lock whole table. Now Continue ReadingSQL Ninja moves Data in Auto Balancer Loop

SQL Ninja PK Clustered or Non Clustered for GUID

Hi today I would like to share with you experiment I did small experiment for checking improvement of operations in table with primary key that has UNIQUEIDENTIFIER (GUID) type and it is PRIMARY KEY in this table. I want to check what if PK will be CLUSTERED (by default) and what if PK will be NONCLUSTERED index. There is very common question on any job interview so, probably all of you already know the different between both Continue ReadingSQL Ninja PK Clustered or Non Clustered for GUID

FastStringKeyDictionary Intro

Hi, today I will show you intro, partly implemented code of the fast dictionary with string type key. My work is partial. There are tests for Add, ContainsKey and TryGetValue methods. If you like you can continue this work and add also Remove method and an Enumerator. I left that to give you a direction and the idea but I want to left something for you. In fact easy part for work on your own. So, you Continue ReadingFastStringKeyDictionary Intro

Common Communicator

Hi, today I would like to share with you idea of creating common communication components. I did it many times and I have even prepared my own presentation with many examples of such kind of problem solution. After some time of experiments I created few design diagrams that implement communication in minimal and advanced way the same time. So, let me show you what is the design on common communicator that you can create for your own Continue ReadingCommon Communicator


Hi, today I am happy to announce PLSQLTester that is version of TSQLTester that works on Oracle database instead of Microsoft SQL Server. It works basically the same. and below you can find how it looks. It depends only on ODP.NET provider so, assembly Oracle.DataAccess need to be installed to build this solution. And it works the same way like TSQLTester there are following parameters: connectionStringFile, testCodeSqlFile, newCodeSqlFile, oldCodeSqlFile and preCodeSqlFile, postCodeSqlFile. And last two are not Continue ReadingPLSQLTester

TSQLTester for SQL Ninja with Mocking

Hi, I am using very often TSQLTester from the moment it was created. And it saved me a lot of time with my performance challenges. Of course my favorite advantage of TSQLTester is testing content of data. Today I would like to extend first implementation and give you option for mocking of procedures of functions that in standard production cases connecting to the Service Bus or writing to some Queue implementations in the middle of our code Continue ReadingTSQLTester for SQL Ninja with Mocking

TSQLTester for SQL Ninja

Hi, today I would like to share with you idea of testing tool for T-SQL developers who want to not only replace stored procedures with fasters stored procedures but also want to be sure that old code on SQL Server produces exactly the same results as a new optimized and tuned up one. I created this tool as command line to easy integrate with possible automate of testing and TSQLTester.exe has 4 parameters. All of those parameters Continue ReadingTSQLTester for SQL Ninja

WaiterAspect And PublishersConsumerAspect<T>

Hi, today I am happy to show you a WaiterAspect that has 5 us frequency and PublishersConsumerAspect<T> pattern implementation that has 5 us frequency too. So there are great. Also I want to share with you information that both today presented aspects are created in pure .NET Framework 2.0 and C# 2.0. So it is very easy to use them both in any legacy solution for example for having low latency waiting switching between threads. Or to Continue ReadingWaiterAspect And PublishersConsumerAspect<T>