آرشیو تگ ها: SQL

‫‫استفاده از Stored Procedure و Trigger در NHibernate و تاثیر آنها بر Caching

در رابطه با NHibernate رایج است که هر جا حس کردیم NHibernate یا مهارت خودمان در استفاده از آن دچار محدودیت است فوراً دست به کار شده و ضمن دور زدن مکانیزم NHibernate session managment مستقیماً از SQL در برنامه‌مان استفاده کنیم. مثلاً وقتی که نمی‌توانیم از eventهای مرتبط با Save/Update در NHibernate به درستی …

‫نگهداری داده‌های حجیم در MS SQL

در خانواده MS SQL نسخه‌های ۲۰۰۰، ۲۰۰۵ و ۲۰۰۸ تعدادی فیلد خاص برای کار با داده‌های حجیمی مثل عکس یا متون خیلی طولانی وجود دارد. هر کدام از اینها شرایط خاص خودشان را دارند که در ادامه بررسی خواهند شد. char و varchar: حداکثر ۸۰۰۰ کاراکتر varchar(max)‎: حداکثر ۲ میلیارد کاراکتر – این نوع داده …

‫Paging کوئری‌های SQL در NHibernate

تصور کنید تعدادی کوئری SQL دارید که می‌خواهید Paging را با استفاده از NHibernate در آنها فعال کرده و بنا به دلایلی اجازه بازنویسی آنها با دیگر APIهای NHibernate نداشته و آنها را صرفاً باید از طریق ObjectDataSaource به کنترل‌های ASP.NET بخورانید. سه راه برای انجام این کار وجود دارد. راه اول: استفاده از stored …

‫استفاده مستقیم از SQL در NHibernate

NHibernate یک ORM است که شما را ترغیب می‌کند برای دسترسی به دیتابیس از APIهای خاص خودش یعنی HQL، ICriteria و Linq-to-NHibernate استفاده کنید. اما راه را برای آنها که به هر دلیل ترجیح می‌دهند یا مجبورند از SQL استفاده کنند نبسته است. NHibernate دو راه برای انجام این کار دارد: استفاده از ISession.CreateSQLQuery و …

‫داستان بی‌سوادی ما – ۵: SQL Server Profiler‫

یکی از ابزارهایی که هم برای خطایابی خیلی استفاده می‌شود و هم برای پیدا کردن مشکلات سرعت Queryهای دیتابیسی، ابزار SQL Server Profiler است. من هم از این ابزار خیلی استفاده کرده و می‌کنم. اما مشکل من با این ابزار حجم زیاد log تولیدی آن است. گاهی اوقات برای دیدن یک Query خاص باید چند …

‫تاثیر Index گذاری بر سرعت جداول MS SQL

چند روزی را در حال بررسی سرعت Query بر روی جداول حجیم بودم. Query مورد نظر من یک sum ساده بر روی جدولی به اسم amort بود. این Query به صورت یک function پیاده سازی شده بود. البته آن Query نهایی که من زمان آن را بررسی کرده و نتایجش را در نظر داشتم این …

How to use CLR (dotnet classes and methods) within SQL SERVER: a simple example

step 1: create a simple class like this in csharp using Microsoft.SqlServer.Server;using System.Data.SqlClient;using System;using System.Data;using System.Globalization; public class T{[SqlFunction(DataAccess = DataAccessKind.Read)]public static DateTime Jalali2Gregorian(string jalaliDate){DateTime sqlMinDate = Convert.ToDateTime(“1/1/1753”);DateTime res = sqlMinDate;try{jalaliDate = jalaliDate.Trim();int year = Convert.ToInt32(jalaliDate.Substring(6, 4));int month = Convert.ToInt32(jalaliDate.Substring(3, 2));int day = Convert.ToInt32(jalaliDate.Substring(0, 2));PersianCalendar pc = new PersianCalendar();res = pc.ToDateTime(year, month, day, 0, 0, …