مقایسه Offset و Keyset Pagination؛ چگونه میلیون ها رکورد را به صورت بهینه از دیتابیس بخوانیم
تصور کنید باید 10 میلیون رکورد رو باید از دیتابیس بخونید و روی رکوردها یه پردازشی انجام بدید. قاعدتا اولین کاری که انجام میدیم این هست که دیتارو به صورت صفحه بندی شده و با یه مرتب سازی خاصی بخونیم و پردازش کنیم و بریم صفحه بعد. اما بعد از اینکه رکوردهای زیادی رو خوندیم، سرعت خوندن از دیتابیس کم میشه ....
ادامه مطلب
پیاده سازی WITH NOLOCK در دستورات EntityFramework
در SQL زمانی که رکوردها به صورت BULK INSERT ذخیره شوند و تعداد این رکوردها زیاد باشد SQL جدول مورد نظر را Lock میکند و تا زمانی که تمامی دیتاها وارد SQL نشوند نمیتوانید از آن جدول دیتاها را بخوانید (به صورت پیشفرض). اما در خود SQL میتوانید دیتاها ....
ادامه مطلب
برچسب گذاری دقیق query ها در Entity Framework Core
گاهی اوقات ممکن است کوئری هایی را در EF بنویسیم و دیتای زیادی را از دیتابیس فراخوانی کنیم و با بزرگ تر شدن پروژه احتمال این خطاها بیشتر میشود و تعداد کوئری ها نیز افزایش می یابد در نتیجه پیداکردن کوئری های سنگین سخت و یا غیرممکن میشود. اگر در SQL Profiler نیز ....
ادامه مطلب
بدست آوردن دیتاهای سلسله مراتبی در SQL
ساختار نظرات یک پست را در نظر بگیرید. هر شخصی میتواند برای هر پستی نظر بگذارد و هرشخص میتواند برای نظر دیگری یک نظر جدید وارد کند. نظرات به صورت پدر و فرزندی میباشد یعنی هر نظر میتواند چندین فرزند داشته باشد ولی هر نظر فقط یک پدر دارد و در نهایت میخواهید کل نظرات ثبت شده برای یک نظر خاص ....
ادامه مطلب
پاک کردن لاگ های SQL
در SQL Server هر زمان کاری انجام شود لاگ آن در یک فایل به اسم ERRORLOG.n ذخیره میشود. حرف n در اخر اسم فایل ERRORLOG یک عدد است که هرگاه SQL ریستارت یا اجرا شود یک فایل جدید با یک شماره جدید ایجاد میشود. به طور مثال ERRORLOG.1, ERRORLOG.2, ERRORLOG.3 و ... . ....
ادامه مطلب
