سلام خدمت دوستان عزیزم
امیدوارم حالتون خوب خوب باشه
شاید به این مساله برخورد کرده باشین، زمانی که دارین Maintenance Plan ایجاد می کنید که Backup رو از یک مسیر خاص در یک بازه زمانی خاصی حذف کنه ، هیچ خطایی رخ نمیده ولی هیچ فایلی هم پاک نمیشه!
وقتی شما یک Maintenance Plan ایجاد می کنید ، با استفاده از دستور XP_Delete_File این اتفاق می افته.
این دستور یک Extended PRocedure هست و چک می کنه که فایلهای فوق هم ساختار Backup های SQL Server رو داشته باشن و هم اینکه مربوط به دیتابیس های همون Instance باشه که این دستور اونجا اجرا میشه.
مثلا ممکنه روی یک سرور چند تا Instance باشه و داخل یک مسیر مشخص Backup گرفته باشن. این مکانیزم باعث میشه جلوگیری کنه از حذف فایلهای غیر مرتبط و اشتباه.
امیدوارم این نکته براتون مفید باشه
شاد باشین و شکرگزار☺️☺️
حمیدرضا صادقیان
Hello, my dear friends,
I hope you are all doing well. Perhaps you have encountered this issue before: when you create a Maintenance Plan to delete backups from a specific path within a specific time interval, no errors occur, but no files are deleted either!
When you create a Maintenance Plan, this happens using the XP_Delete_File command. This command is an Extended Procedure that checks whether the files have the structure of SQL Server backups and belong to the databases of the same instance where this command is executed.
For example, there may be multiple instances on a server, and they may have taken backups in a specific path. This mechanism prevents the accidental deletion of unrelated files.
I hope this information is helpful for you.
Stay happy and grateful ☺️☺️
@hamidreza_Sadeghian
امیدوارم حالتون خوب خوب باشه
شاید به این مساله برخورد کرده باشین، زمانی که دارین Maintenance Plan ایجاد می کنید که Backup رو از یک مسیر خاص در یک بازه زمانی خاصی حذف کنه ، هیچ خطایی رخ نمیده ولی هیچ فایلی هم پاک نمیشه!
وقتی شما یک Maintenance Plan ایجاد می کنید ، با استفاده از دستور XP_Delete_File این اتفاق می افته.
این دستور یک Extended PRocedure هست و چک می کنه که فایلهای فوق هم ساختار Backup های SQL Server رو داشته باشن و هم اینکه مربوط به دیتابیس های همون Instance باشه که این دستور اونجا اجرا میشه.
مثلا ممکنه روی یک سرور چند تا Instance باشه و داخل یک مسیر مشخص Backup گرفته باشن. این مکانیزم باعث میشه جلوگیری کنه از حذف فایلهای غیر مرتبط و اشتباه.
امیدوارم این نکته براتون مفید باشه
شاد باشین و شکرگزار☺️☺️
حمیدرضا صادقیان
Hello, my dear friends,
I hope you are all doing well. Perhaps you have encountered this issue before: when you create a Maintenance Plan to delete backups from a specific path within a specific time interval, no errors occur, but no files are deleted either!
When you create a Maintenance Plan, this happens using the XP_Delete_File command. This command is an Extended Procedure that checks whether the files have the structure of SQL Server backups and belong to the databases of the same instance where this command is executed.
For example, there may be multiple instances on a server, and they may have taken backups in a specific path. This mechanism prevents the accidental deletion of unrelated files.
I hope this information is helpful for you.
Stay happy and grateful ☺️☺️
@hamidreza_Sadeghian
👍20❤2
با سلام خدمت همه دوستان عزیزم
امیدوارم حالتون عالی عالی باشه
یکی از مسائلی که جدیدا خیلی دارم باهاش برخورد می کنم و مشاهده می کنم ، علاقمندی شدید شرکتها وسازمانها در حرکت به سمت و سوی تحلیل داده هاست که صدالبته مسیر بسیار درستیه.
ولی به نظرم چالش از اینجا شروع میشه که قبل از تعریف حاکمیت داده و طراحی معماری داده سازمان ،به سمت تحلیل داده ها حرکت کنیم. به نظرم به همون میزانی که جذابه به همون میزان هم میتونه مارو به سرعت به سمت دره های خطرناک سوق بده.
وقتی مواردی مانند ساختارهای اطلاعات پایه ، نحوه دسترسی اطلاعات ، نحوه پاکسازی اطلاعات ، یکپارچگی داده ها دیده نشده ، مسلما داده هایی که مورد آنالیز و تحلیل قرار می گیرند مسیر درستی رو به ما نشون نمیدن و خطای بالایی رو تولید می کنند.
به نظر شما در یک سازمانی که سالها مشغول به فعالیت هست و شرکتهای مختلفی در زیرمجموعه آن مشغول به فعالیت هستند ،چطور میتوان حاکمیت داده رو ایجاد کرد و معماری داده ای اون رو طراحی کرد که کمترین درد و خونریزی روبرای سازمان داشته باشه؟
منتظر نظرات ارزشمند شما هستم
شاد باشین و شکرگزار ☺️☺️
حمیدرضا صادقیان
Hello to all my dear friends,
I hope you're all doing great. One of the issues I've been encountering a lot lately, and I've noticed, is the strong interest of companies and organizations in moving towards data analysis. Of course, this is a very promising path. However, I believe the challenge starts when we move towards data analysis before defining data governance and designing a data architecture for the organization. In my opinion, as appealing as it may be, it can also quickly lead us towards dangerous pitfalls.
When fundamental information structures, data access methods, data cleansing procedures, and data integration are not well-established, the data being analyzed and scrutinized will not guide us in the right direction and will produce significant errors.
What do you think about establishing data governance and designing a data architecture in an organization that has been operating for years and has various subsidiaries? How can we minimize the pain and bleeding for the organization?
I look forward to your valuable insights.
Stay happy and grateful ☺️☺️
Telegram Channel : @SQL_Server
Telegram ID : @Hamidreza_Sadeghian
#DataGovernance #MasterData #MDM #DataQuality #DataCleansing #DataArchitecture
امیدوارم حالتون عالی عالی باشه
یکی از مسائلی که جدیدا خیلی دارم باهاش برخورد می کنم و مشاهده می کنم ، علاقمندی شدید شرکتها وسازمانها در حرکت به سمت و سوی تحلیل داده هاست که صدالبته مسیر بسیار درستیه.
ولی به نظرم چالش از اینجا شروع میشه که قبل از تعریف حاکمیت داده و طراحی معماری داده سازمان ،به سمت تحلیل داده ها حرکت کنیم. به نظرم به همون میزانی که جذابه به همون میزان هم میتونه مارو به سرعت به سمت دره های خطرناک سوق بده.
وقتی مواردی مانند ساختارهای اطلاعات پایه ، نحوه دسترسی اطلاعات ، نحوه پاکسازی اطلاعات ، یکپارچگی داده ها دیده نشده ، مسلما داده هایی که مورد آنالیز و تحلیل قرار می گیرند مسیر درستی رو به ما نشون نمیدن و خطای بالایی رو تولید می کنند.
به نظر شما در یک سازمانی که سالها مشغول به فعالیت هست و شرکتهای مختلفی در زیرمجموعه آن مشغول به فعالیت هستند ،چطور میتوان حاکمیت داده رو ایجاد کرد و معماری داده ای اون رو طراحی کرد که کمترین درد و خونریزی روبرای سازمان داشته باشه؟
منتظر نظرات ارزشمند شما هستم
شاد باشین و شکرگزار ☺️☺️
حمیدرضا صادقیان
Hello to all my dear friends,
I hope you're all doing great. One of the issues I've been encountering a lot lately, and I've noticed, is the strong interest of companies and organizations in moving towards data analysis. Of course, this is a very promising path. However, I believe the challenge starts when we move towards data analysis before defining data governance and designing a data architecture for the organization. In my opinion, as appealing as it may be, it can also quickly lead us towards dangerous pitfalls.
When fundamental information structures, data access methods, data cleansing procedures, and data integration are not well-established, the data being analyzed and scrutinized will not guide us in the right direction and will produce significant errors.
What do you think about establishing data governance and designing a data architecture in an organization that has been operating for years and has various subsidiaries? How can we minimize the pain and bleeding for the organization?
I look forward to your valuable insights.
Stay happy and grateful ☺️☺️
Telegram Channel : @SQL_Server
Telegram ID : @Hamidreza_Sadeghian
#DataGovernance #MasterData #MDM #DataQuality #DataCleansing #DataArchitecture
👍16👏1
سلام خدمت دوستان عزیزم
امیدوارم حالتون عالی عالی باشه
سایت مکتبخونه برای اعضای سایت لینکدین کد تخفیف پنجاه درصدی تا فردا گذاشته که بتونید از دوره هاش بهره مند بشید
خواستم اطلاع رسانی کنم دوستانی که علاقمند هستند از دوره T-SQL Querying من استفاده کنند میتوانند از لینک زیر اقدامکنند.
ML50 :کد تخفیف
https://maktabkhooneh.org/course/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-sql-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-sql-server-mk427/?affiliate=sadeghian
امیدوارم حالتون عالی عالی باشه
سایت مکتبخونه برای اعضای سایت لینکدین کد تخفیف پنجاه درصدی تا فردا گذاشته که بتونید از دوره هاش بهره مند بشید
خواستم اطلاع رسانی کنم دوستانی که علاقمند هستند از دوره T-SQL Querying من استفاده کنند میتوانند از لینک زیر اقدامکنند.
ML50 :کد تخفیف
https://maktabkhooneh.org/course/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-sql-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-sql-server-mk427/?affiliate=sadeghian
👍9❤1
سلام خدمت دوستان عزیزم
امیدوارم حالتون عالی عالی باشه
یک تجربه ای از مذاکره خودم رو با یک ارگان دولتی اینجا باهاتون به اشتراک میذارم.
یکی از چالش های ارگانهای دولتی سر پرداخت به موقع پول هست که باید حالا حالاها بدویی دنبال پول گرفتنت.
ارگان مربوطه با من تماس گرفتن و قرار شد من به عنوان مشاور باهاشون فعالیت کنم.
ابتدا گفتن باید شرکت باشی گفتم من شخص هستم و شرکت نیستم. بعد منو معرفی کردن به یک شرکت محترم که در قالب اون شرکت با من قرارداد ببندن. بعد از بررسی همه مسائل رسید سر پرداختها. گفتند که ما هرسه ماه یک بار صورتحساب به ارگان مورد نظر ارسال می کنیم و دوستان هم پرداخت می کنند و ماهم در یک بازه ای پرداخت می کنیم و همچنین یک سری هم کسورات داره.
گفتم شرمنده من این مدلی قرارداد باهیچکسی نمیبندم. وقتی من ماهانه به راحتی دارم پول دریافت می کنم چرا باید بیام برای شما کار کنم که بعد از سه ماه تازه شما صورتحساب ارسال می کنید، مشخص نیست اون ارگان کی پرداخت انجام میده و بالطبع مشخص نیست شما کی به من واریزی خواهید داشت. به جز این میخواهید حسن انجام کار هم کسر کنید. من هر ماه باید بهم پرداخت بشه حسن انجام کاری هم پرداخت نمی کنم ولی کارم رو گارانتی می کنم.
گفتند ما فرآیندمون رو عوض نمیکنیم ما دولتی هستیم گفتم منم چارچوبم رو عوض نمیکنم چون شخصی هستم😂.
و خیلی شیک با دوستان خداحافظی کردم و با خیال راحت خوابیدم .
پیشنهاد میکنم بهتون با هر شرایطی وارد قرارداد نشین و مخصوصا با سازمانهای دولتی خیلی خیلی سختگیرانه رفتار کنید. دقیقااین دوستان هستن به شما محتاجن نه بالعکس.
شاد باشین و شکرگزار.
ارادتمند
حمیدرضا صادقیان
Hello to my dear friends,
I hope you're all doing excellently. I want to share my negotiation experience with a government organization here with you.
One of the challenges of government agencies is timely payment, which they pursue relentlessly. The relevant organization contacted me, and it was agreed that I would work with them as a consultant.
Initially, they said I had to be a company, but I explained that I am an individual, not a company. Then they introduced me to a reputable company, suggesting that we sign a contract through that entity. After reviewing all the details, we reached the payment stage. They mentioned sending invoices to the concerned agency every three months, and my colleagues and I would make the payments within a certain timeframe. Additionally, there were some deductions.
I politely declined, stating that I don't agree to such a contract. When I easily receive monthly payments, why should I work for you, waiting for you to send an invoice after three months? It's unclear when that agency will make the payment, and, of course, it's uncertain when you will deposit money into my account. Besides, you want to deduct a fee for the good performance of the work. I don't receive a performance fee monthly, but I guarantee the quality of my work.
They said they wouldn't change their process because they are a government entity. I responded that I won't change my framework either because I am an individual 😂.
I said a stylish goodbye to my friends and went to bed with peace of mind.
I suggest to you all, regardless of the circumstances, be cautious when entering into contracts, especially with government organizations. These are the ones in need of your services, not the other way around.
Stay happy and grateful.
Sincerely,
Hamidreza Sadeghian
@Hamidreza_Sadeghian
امیدوارم حالتون عالی عالی باشه
یک تجربه ای از مذاکره خودم رو با یک ارگان دولتی اینجا باهاتون به اشتراک میذارم.
یکی از چالش های ارگانهای دولتی سر پرداخت به موقع پول هست که باید حالا حالاها بدویی دنبال پول گرفتنت.
ارگان مربوطه با من تماس گرفتن و قرار شد من به عنوان مشاور باهاشون فعالیت کنم.
ابتدا گفتن باید شرکت باشی گفتم من شخص هستم و شرکت نیستم. بعد منو معرفی کردن به یک شرکت محترم که در قالب اون شرکت با من قرارداد ببندن. بعد از بررسی همه مسائل رسید سر پرداختها. گفتند که ما هرسه ماه یک بار صورتحساب به ارگان مورد نظر ارسال می کنیم و دوستان هم پرداخت می کنند و ماهم در یک بازه ای پرداخت می کنیم و همچنین یک سری هم کسورات داره.
گفتم شرمنده من این مدلی قرارداد باهیچکسی نمیبندم. وقتی من ماهانه به راحتی دارم پول دریافت می کنم چرا باید بیام برای شما کار کنم که بعد از سه ماه تازه شما صورتحساب ارسال می کنید، مشخص نیست اون ارگان کی پرداخت انجام میده و بالطبع مشخص نیست شما کی به من واریزی خواهید داشت. به جز این میخواهید حسن انجام کار هم کسر کنید. من هر ماه باید بهم پرداخت بشه حسن انجام کاری هم پرداخت نمی کنم ولی کارم رو گارانتی می کنم.
گفتند ما فرآیندمون رو عوض نمیکنیم ما دولتی هستیم گفتم منم چارچوبم رو عوض نمیکنم چون شخصی هستم😂.
و خیلی شیک با دوستان خداحافظی کردم و با خیال راحت خوابیدم .
پیشنهاد میکنم بهتون با هر شرایطی وارد قرارداد نشین و مخصوصا با سازمانهای دولتی خیلی خیلی سختگیرانه رفتار کنید. دقیقااین دوستان هستن به شما محتاجن نه بالعکس.
شاد باشین و شکرگزار.
ارادتمند
حمیدرضا صادقیان
Hello to my dear friends,
I hope you're all doing excellently. I want to share my negotiation experience with a government organization here with you.
One of the challenges of government agencies is timely payment, which they pursue relentlessly. The relevant organization contacted me, and it was agreed that I would work with them as a consultant.
Initially, they said I had to be a company, but I explained that I am an individual, not a company. Then they introduced me to a reputable company, suggesting that we sign a contract through that entity. After reviewing all the details, we reached the payment stage. They mentioned sending invoices to the concerned agency every three months, and my colleagues and I would make the payments within a certain timeframe. Additionally, there were some deductions.
I politely declined, stating that I don't agree to such a contract. When I easily receive monthly payments, why should I work for you, waiting for you to send an invoice after three months? It's unclear when that agency will make the payment, and, of course, it's uncertain when you will deposit money into my account. Besides, you want to deduct a fee for the good performance of the work. I don't receive a performance fee monthly, but I guarantee the quality of my work.
They said they wouldn't change their process because they are a government entity. I responded that I won't change my framework either because I am an individual 😂.
I said a stylish goodbye to my friends and went to bed with peace of mind.
I suggest to you all, regardless of the circumstances, be cautious when entering into contracts, especially with government organizations. These are the ones in need of your services, not the other way around.
Stay happy and grateful.
Sincerely,
Hamidreza Sadeghian
@Hamidreza_Sadeghian
👍77👏17❤8😍3👌2
سلام خدمت دوستان عزیزم
امیدوارم حالتون عالی باشه
دوستان دقت کنید که Always ON اسم یک تکنولوژی خاص نیست!! صرفا فقط یک نام تجاری هست که در زیرمجموعه اون دوتا تکنولوژی HA قرار داره
1- Always ON FCI
2- Always ON Availability Groups
این ها رو هم اشتباه نگیرید.
شاد باشین و شکرگزار
ارادتمند
حمیدرضا صادقیان
Hello to my dear friends,
I hope you are all doing well.
Please note that "Always ON" is not the name of a specific technology; it is simply a brand name that encompasses two technologies under it:
1- Always ON FCI
2- Always ON Availability Groups
Do not confuse these with each other.
Stay happy and grateful.
Best regards,
Hamidreza Sadeghian
@Hamidreza_Sadeghian
امیدوارم حالتون عالی باشه
دوستان دقت کنید که Always ON اسم یک تکنولوژی خاص نیست!! صرفا فقط یک نام تجاری هست که در زیرمجموعه اون دوتا تکنولوژی HA قرار داره
1- Always ON FCI
2- Always ON Availability Groups
این ها رو هم اشتباه نگیرید.
شاد باشین و شکرگزار
ارادتمند
حمیدرضا صادقیان
Hello to my dear friends,
I hope you are all doing well.
Please note that "Always ON" is not the name of a specific technology; it is simply a brand name that encompasses two technologies under it:
1- Always ON FCI
2- Always ON Availability Groups
Do not confuse these with each other.
Stay happy and grateful.
Best regards,
Hamidreza Sadeghian
@Hamidreza_Sadeghian
👍14👌2👎1💯1
سلام دوستان عزیزم
امیدوارم حالتون عالی عالی باشه
چند روز پیش درگیر بروز رسانی یک سری Package های SSIS بودیم که از نسخه ۲۰۱۲ به نسخه ۲۰۲۲ منتقل کنیم.
موقع Deploy مدام به ایرادات مختلف مخصوصا Dll های مربوط به Package ها برخورد میکردیم.
بعد از کلی بررسی ها ، متوجه شدم که در Package ها Target Server به ۲۰۲۲ تغییر نکرده بود و همین باعث ایجاد کلی خطا شده بود. این خطاها هم اغلب در هنگامم اجرای Job رخ میداد. دلیلش هم واضحه. Package های SSIS وقتی که JOB میشن توسط فایل DTExec اجرا میشن و یکی از مواردی که توسط این فایل چک میشه بحث Target Server هست که باتوجه به اون بیاد DLL های مربوط به اون رو لود کنه و همین قضیه باعث میشد مرتبا جاب های ما Failed بشن. با تغییر این موضوع ، جابها با موفقیت اجرا شدند.
گفتم این مورد روباهاتون به اشتراک بذارم.
شاد باشین و شکرگزار
ارادتمند
حمیدرضا صادقیان
Hello dear friends,
I hope you're all doing exceptionally well. A few days ago, we were involved in updating a series of SSIS packages from version 2012 to version 2022. During the deployment, we consistently encountered various issues, especially related to the DLLs associated with the packages.
After thorough investigations, I realized that the Target Server in the packages had not been changed to 2022. This oversight caused a multitude of errors, most of which occurred during the execution of jobs. The reason is clear: SSIS packages, when executed by the DTExec file during a job, undergo a check related to the Target Server. Based on this, the corresponding DLLs are loaded. This situation repeatedly led to the failure of our jobs.
By addressing this issue and changing the Target Server, the jobs were successfully executed. I thought it would be beneficial to share this experience with you.
Stay joyful and grateful.
Best regards,
Hamidreza Sadeghian
Telegram Channel : @SQL_Server
#SSIS
#DBA
#SQLServer
#Administration
#ETL
#job
امیدوارم حالتون عالی عالی باشه
چند روز پیش درگیر بروز رسانی یک سری Package های SSIS بودیم که از نسخه ۲۰۱۲ به نسخه ۲۰۲۲ منتقل کنیم.
موقع Deploy مدام به ایرادات مختلف مخصوصا Dll های مربوط به Package ها برخورد میکردیم.
بعد از کلی بررسی ها ، متوجه شدم که در Package ها Target Server به ۲۰۲۲ تغییر نکرده بود و همین باعث ایجاد کلی خطا شده بود. این خطاها هم اغلب در هنگامم اجرای Job رخ میداد. دلیلش هم واضحه. Package های SSIS وقتی که JOB میشن توسط فایل DTExec اجرا میشن و یکی از مواردی که توسط این فایل چک میشه بحث Target Server هست که باتوجه به اون بیاد DLL های مربوط به اون رو لود کنه و همین قضیه باعث میشد مرتبا جاب های ما Failed بشن. با تغییر این موضوع ، جابها با موفقیت اجرا شدند.
گفتم این مورد روباهاتون به اشتراک بذارم.
شاد باشین و شکرگزار
ارادتمند
حمیدرضا صادقیان
Hello dear friends,
I hope you're all doing exceptionally well. A few days ago, we were involved in updating a series of SSIS packages from version 2012 to version 2022. During the deployment, we consistently encountered various issues, especially related to the DLLs associated with the packages.
After thorough investigations, I realized that the Target Server in the packages had not been changed to 2022. This oversight caused a multitude of errors, most of which occurred during the execution of jobs. The reason is clear: SSIS packages, when executed by the DTExec file during a job, undergo a check related to the Target Server. Based on this, the corresponding DLLs are loaded. This situation repeatedly led to the failure of our jobs.
By addressing this issue and changing the Target Server, the jobs were successfully executed. I thought it would be beneficial to share this experience with you.
Stay joyful and grateful.
Best regards,
Hamidreza Sadeghian
Telegram Channel : @SQL_Server
#SSIS
#DBA
#SQLServer
#Administration
#ETL
#job
👍43❤8😍2👎1👏1
سلام خدمت دوستان عزیزم
امیدوارم حالتون عالی عالی باشه
یکی از چالش هایی که اخیرا زیاد دارم میبینم و فکر می کنم نیازش به شدت احساس میشه ، کانالی در خصوص تیم های نرم افزاری هست.
به همین علت کانالی رو ایجاد کردم که با کمک شما عزیزان در این راستا قدمی برداریم.
هدف از ایجاد کانال ، این هست که در خصوص مهارتهای نرم در تیم های نرم افزاری ، چالش های تیمی، قول به مشتریان ، نحوه قرارداد بستن ها ، نحوه مصاحبه و استخدام ، و هر آن چیزی که به مدیریت و نگهداشت و توسعه تیم های نرم افزاری مربوط می شود ، صحبت کنیم.
خوشحال خواهم شد با نظرات و صحبتهاتون و کامنت های ارزشمندتون در این مسیر به هم کمک کنیم.
ارادتمند شما
حمیدرضا صادقیان
@SoftwareTeams
Group Chat Link : Group Join Link : https://t.me/+voqIc0ymolg2M2E0
امیدوارم حالتون عالی عالی باشه
یکی از چالش هایی که اخیرا زیاد دارم میبینم و فکر می کنم نیازش به شدت احساس میشه ، کانالی در خصوص تیم های نرم افزاری هست.
به همین علت کانالی رو ایجاد کردم که با کمک شما عزیزان در این راستا قدمی برداریم.
هدف از ایجاد کانال ، این هست که در خصوص مهارتهای نرم در تیم های نرم افزاری ، چالش های تیمی، قول به مشتریان ، نحوه قرارداد بستن ها ، نحوه مصاحبه و استخدام ، و هر آن چیزی که به مدیریت و نگهداشت و توسعه تیم های نرم افزاری مربوط می شود ، صحبت کنیم.
خوشحال خواهم شد با نظرات و صحبتهاتون و کامنت های ارزشمندتون در این مسیر به هم کمک کنیم.
ارادتمند شما
حمیدرضا صادقیان
@SoftwareTeams
Group Chat Link : Group Join Link : https://t.me/+voqIc0ymolg2M2E0
👍17👌3
Forwarded from Data Philosophy
سلام خدمت دوستان عزیزم
امیدوارم حالتون عالی عالی باشه
تصمیم گرفتم که یک کانال دیگه راه اندازی کنم.
هدف از راه اندازی این کانال ، صحبت در خصوص انواع تکنولوژی هایی هست که به نوعی به داده مرتبط خواهند شد.
اینجا دیگه محدود به تکنولوژی خاصی نخواهیم بود.
خوشحال خواهم شد اگر در این زمینه علاقمند بودین و مقاله یا فیلمی داشتید برای من ارسال کنید که با نام خودتون در این کانال منتشر کنیم.
امیدوارم کنار هم بتونیم اطلاعات خوبی را کسب کنیم.
شاد باشین و شکرگزار
حمیدرضا صادقیان
@Hamidreza_Sadeghian
Channel ID : @DataPhilosophy
امیدوارم حالتون عالی عالی باشه
تصمیم گرفتم که یک کانال دیگه راه اندازی کنم.
هدف از راه اندازی این کانال ، صحبت در خصوص انواع تکنولوژی هایی هست که به نوعی به داده مرتبط خواهند شد.
اینجا دیگه محدود به تکنولوژی خاصی نخواهیم بود.
خوشحال خواهم شد اگر در این زمینه علاقمند بودین و مقاله یا فیلمی داشتید برای من ارسال کنید که با نام خودتون در این کانال منتشر کنیم.
امیدوارم کنار هم بتونیم اطلاعات خوبی را کسب کنیم.
شاد باشین و شکرگزار
حمیدرضا صادقیان
@Hamidreza_Sadeghian
Channel ID : @DataPhilosophy
👍11👏4
سلام خدمت دوستان عزیزم
امیدوارم حالتون عالی عالی باشه.
میخواستم در این پست یک توضیحی درخصوص SARGable ها بدم.
وقتی که میگیم یک کدی SARGable نیست. یعنی چی.
عبارت SARGable مخفف Search ARGumentable هست.
زمانی که شما دارید یک عبارتی رو فیلتر می کنید یا در ON جوین ها فیلتر می نویسید ، ماهیت فیلدها نباید دستخوش تغییرات بشه.
به عنوان مثال
Seleect * from Table1
Where Left(Name,5)='Hamid'
اگر بر روی فیلد Name ما یک ایندکس داشته باشیم ، SQL Server اینجا از ایندکس استفاده نکرده و اصطلاحا Index Scan رخ میده. حالا این یعنی چی؟ یعنی اینکه کل Index و دیتای جدول شما ، هرچندتا رکوردی که داره جستجو میشه تا این اطلاعات بدست بیاد
ولی وقتی مثلا به این صورت بنویسید
Select * from Table1
where Name like N'Hamid%'
این کد از ایندکس استفاده می کنه و اصطلاحا یک Index Seek رخ میده و فقط Page هایی خوانده میشن که واقعا این اطلاعات در اونها وجود داره و کل جدول اسکن نمیشه.
در شرط های On هم به همین صورت هست
که باید این مساله به شدت رعایت بشه.
برای اینکه در SQL Server هم درست کد بنویسید ، پیشنهاد میکنم د رخصوص مفاهیم Set Based و همچنین مفهوم Declarative مطالعه داشته باشین
این باعث میشه نوع نگرشتون به کدنویسی د رلایه SQL Server کاملا فرق کنه.
شاد باشین و شکرگزار
حمیدرضا صادقیان
امیدوارم حالتون عالی عالی باشه.
میخواستم در این پست یک توضیحی درخصوص SARGable ها بدم.
وقتی که میگیم یک کدی SARGable نیست. یعنی چی.
عبارت SARGable مخفف Search ARGumentable هست.
زمانی که شما دارید یک عبارتی رو فیلتر می کنید یا در ON جوین ها فیلتر می نویسید ، ماهیت فیلدها نباید دستخوش تغییرات بشه.
به عنوان مثال
Seleect * from Table1
Where Left(Name,5)='Hamid'
اگر بر روی فیلد Name ما یک ایندکس داشته باشیم ، SQL Server اینجا از ایندکس استفاده نکرده و اصطلاحا Index Scan رخ میده. حالا این یعنی چی؟ یعنی اینکه کل Index و دیتای جدول شما ، هرچندتا رکوردی که داره جستجو میشه تا این اطلاعات بدست بیاد
ولی وقتی مثلا به این صورت بنویسید
Select * from Table1
where Name like N'Hamid%'
این کد از ایندکس استفاده می کنه و اصطلاحا یک Index Seek رخ میده و فقط Page هایی خوانده میشن که واقعا این اطلاعات در اونها وجود داره و کل جدول اسکن نمیشه.
در شرط های On هم به همین صورت هست
که باید این مساله به شدت رعایت بشه.
برای اینکه در SQL Server هم درست کد بنویسید ، پیشنهاد میکنم د رخصوص مفاهیم Set Based و همچنین مفهوم Declarative مطالعه داشته باشین
این باعث میشه نوع نگرشتون به کدنویسی د رلایه SQL Server کاملا فرق کنه.
شاد باشین و شکرگزار
حمیدرضا صادقیان
❤24👍22👌7
Forwarded from Software Teams
سلام خدمت دوستان عزیزم
امیدوارم حالتون عالی باشه
یکی از چالش هایی که توی کار وجود داره مسائل و مشکلاتی هست که ممکنه افرادی در سازمان باهاش برخورد کنن و مسئول رفع اون مشکل هم ما هستیم.
گاها دیدم که با این مساله خیلی ساده برخورد کرده یا در اکثر شرکتها این مدلی بیان میشه که تیکت بسازین و با پشتیبانی تیم تماس بگیرین و ما بررسی می کنیم.
امروز من در محل کار با مشکلی مواجه شدم و یکی از همکارانم بامن تماس گرفتن. من ازشون پرسیدم اگه پشت میزشون هستن خودم پیششون برم.
من به ایشون مراجعه کردم و مشکل رو خودم از نزدیک دیدم و به ایشون توضیح دادم چرا اصلا این مشکل رخ داده و ماهم داریم برای حلش چه کارهایی می کنیم.
ایشون کلا نظرشون نسبت به کارکرد ما عوض شد چون تا به الان برخوردی با ایشون نداشتیم و فقط یک سری فیدبکهای نه چندان جالب ما دریافت می کردیم.
ولی از الان به بعد ایشون کاملا درجریان هستن چرا ممکنه این اتفاق بیافته و حتما در آينده ای نه چندان دور این مساله هم کامل رفع میشه .
من شخصا اینکار رو انجام دادم و به نیروهای تیمم واگذار نکردم و خودم مستقیم با مشتری ارتباط حضوری گرفتم.
شما چه تجربه ای نسبت به اینگونه رفتارها در سازمانتون دارید؟
امیدوارم حالتون عالی باشه
یکی از چالش هایی که توی کار وجود داره مسائل و مشکلاتی هست که ممکنه افرادی در سازمان باهاش برخورد کنن و مسئول رفع اون مشکل هم ما هستیم.
گاها دیدم که با این مساله خیلی ساده برخورد کرده یا در اکثر شرکتها این مدلی بیان میشه که تیکت بسازین و با پشتیبانی تیم تماس بگیرین و ما بررسی می کنیم.
امروز من در محل کار با مشکلی مواجه شدم و یکی از همکارانم بامن تماس گرفتن. من ازشون پرسیدم اگه پشت میزشون هستن خودم پیششون برم.
من به ایشون مراجعه کردم و مشکل رو خودم از نزدیک دیدم و به ایشون توضیح دادم چرا اصلا این مشکل رخ داده و ماهم داریم برای حلش چه کارهایی می کنیم.
ایشون کلا نظرشون نسبت به کارکرد ما عوض شد چون تا به الان برخوردی با ایشون نداشتیم و فقط یک سری فیدبکهای نه چندان جالب ما دریافت می کردیم.
ولی از الان به بعد ایشون کاملا درجریان هستن چرا ممکنه این اتفاق بیافته و حتما در آينده ای نه چندان دور این مساله هم کامل رفع میشه .
من شخصا اینکار رو انجام دادم و به نیروهای تیمم واگذار نکردم و خودم مستقیم با مشتری ارتباط حضوری گرفتم.
شما چه تجربه ای نسبت به اینگونه رفتارها در سازمانتون دارید؟
❤15👏4👍2
Forwarded from Data Philosophy
Artificial intelligence with Power BI.pdf
23.4 MB
سلام خدمت دوستان عزیزم
امیدوارم حالتون عالی عالی باشه
امروز توی Linkedin این کتاب رو یکی رایگان گذاشته بود،من هم گفتم خوبه که اینجا قرار بدم شما هم استفاده کنید.
خیلی جذابه که بشه در گزارشات PBI از AI هم استفاده کرد و باهاش ترکیب کرد. به نظرم خوانایی و دانش داخل گزارشات رو به شدت میتونه افزایش بده.
شاد باشین و شکرگزار😃😃
حمیدرضا صادقیان
امیدوارم حالتون عالی عالی باشه
امروز توی Linkedin این کتاب رو یکی رایگان گذاشته بود،من هم گفتم خوبه که اینجا قرار بدم شما هم استفاده کنید.
خیلی جذابه که بشه در گزارشات PBI از AI هم استفاده کرد و باهاش ترکیب کرد. به نظرم خوانایی و دانش داخل گزارشات رو به شدت میتونه افزایش بده.
شاد باشین و شکرگزار😃😃
حمیدرضا صادقیان
👍27❤6👌3👎2👏1
Forwarded from Software Teams
سلام خدمت دوستان عزیزم
امیدوارم حالتون عالی عالی باشه
یکی از نکاتی که من شخصا موقع تیم سازی و مصاحبه با افراد انجام میدم ، این هست که افرادی رو انتخاب کنم که دارای روحیه جنگندگی باشن.
چندتا درس از این مساله گرفتم.
افرادی که در تیمم این روحیه رو نداشتن ، گاها غر میزدن که چرا به ما کار نمیدین. همیشه یکی باید میبود که میگفت ببین الان اینکارم هست باید انجام بدی. درصورتی که مثلا در جلسات پلنینگ ما لیست کارهارو قرار میدادیم که باید انجام بشه ، و هرکسی که کاری انجام داده و آزاد شده میتونه کار بعدی رو برداره و انجام بده.
نکته خیلی مهمترش که از این مورد یاد گرفتم ،اینه که افرادی که این روحیه رو ندارن همیشه میترسن یا جانب احتیاط رو رعایت می کنند. طرف حاضر بود خیلی سخت یک کار تکراری رو انجام بده ولی نمیومد با من صحبت کنه بگه حمیدرضا اینجا باید این مساله تغییر کنه یا میتونیم به نظرم تغییرش بدیم ولی اصلا من بلد نیستم. میشه کمک کنی یا راه حلی براش دربیاریم این مساله خودکار بشه یا بهینه بشه؟
ولی وقتی با اینجور اشخاص خداحافظی کردم ، تقریبا نصف بیشتر کارهای تکراری تیم حذف شد و بهره وری تیم به شدت بالا رفت. چرا؟
چون اون اشخاص ، نیاز رو شناسایی می کردن و درموردش حرف میزدیم. یا راه حلی داشتن یا باهم به یک راه حل می رسیدیم.
حالا چطوری این اشخاص رو شناسایی میکردم؟
معمولا میپرسیدم از کجا شروع کردند؟
چی باعث شد مثلا مسیر دیتا رو انتخاب کنند؟
چرا مثلا در شرکت فعلی هستن؟
روی چه پروژه هایی کار می کنن؟
این پروژه ها استارتش از کجا خورده؟
چطوری به راه حل رسیدن؟
از جواب همین سوالات میشد سوالات دیگه ای رو استخراج کرد که در رسیدن به شخص مناسب میتونست کمک کننده باشه.
خوشحال میشم شماهم تجربیات خودتون رو مطرح کنید.
امیدوارم حالتون عالی عالی باشه
یکی از نکاتی که من شخصا موقع تیم سازی و مصاحبه با افراد انجام میدم ، این هست که افرادی رو انتخاب کنم که دارای روحیه جنگندگی باشن.
چندتا درس از این مساله گرفتم.
افرادی که در تیمم این روحیه رو نداشتن ، گاها غر میزدن که چرا به ما کار نمیدین. همیشه یکی باید میبود که میگفت ببین الان اینکارم هست باید انجام بدی. درصورتی که مثلا در جلسات پلنینگ ما لیست کارهارو قرار میدادیم که باید انجام بشه ، و هرکسی که کاری انجام داده و آزاد شده میتونه کار بعدی رو برداره و انجام بده.
نکته خیلی مهمترش که از این مورد یاد گرفتم ،اینه که افرادی که این روحیه رو ندارن همیشه میترسن یا جانب احتیاط رو رعایت می کنند. طرف حاضر بود خیلی سخت یک کار تکراری رو انجام بده ولی نمیومد با من صحبت کنه بگه حمیدرضا اینجا باید این مساله تغییر کنه یا میتونیم به نظرم تغییرش بدیم ولی اصلا من بلد نیستم. میشه کمک کنی یا راه حلی براش دربیاریم این مساله خودکار بشه یا بهینه بشه؟
ولی وقتی با اینجور اشخاص خداحافظی کردم ، تقریبا نصف بیشتر کارهای تکراری تیم حذف شد و بهره وری تیم به شدت بالا رفت. چرا؟
چون اون اشخاص ، نیاز رو شناسایی می کردن و درموردش حرف میزدیم. یا راه حلی داشتن یا باهم به یک راه حل می رسیدیم.
حالا چطوری این اشخاص رو شناسایی میکردم؟
معمولا میپرسیدم از کجا شروع کردند؟
چی باعث شد مثلا مسیر دیتا رو انتخاب کنند؟
چرا مثلا در شرکت فعلی هستن؟
روی چه پروژه هایی کار می کنن؟
این پروژه ها استارتش از کجا خورده؟
چطوری به راه حل رسیدن؟
از جواب همین سوالات میشد سوالات دیگه ای رو استخراج کرد که در رسیدن به شخص مناسب میتونست کمک کننده باشه.
خوشحال میشم شماهم تجربیات خودتون رو مطرح کنید.
👍25👌3❤1👎1
سلام خدمت دوستان عزیزم
امیدوارم حالتون عالی عالی باشه
من تصمیم دارم کدهایی که به نظر مهم میاد رو در گیت هاب قرار بدم و اینجا هم نشرش بدم تا اگه شما هم نیازی بهش داشتین بتونین ازش بهره بگیرید.
شما هم اگر علاقمند بودین در این امر مشارکت کنید ممنون میشم باهم صحبتی داشته باشیم.
اولین کدی که قرار دادم بدین شرح هست.
یکی از چالش هایی که در مباحث Performance Tuning باهاش سرو کله میزنیم ، بحث دیتاتایپ ها و طول آنهاست.
خیلی وقتها به دلیل اینکه اکثرا توسط ORM ها دیتابیس ها طراحی میشن شاید خیلی دقت نظری روی این موضوع نباشه. یا حتی اگه توسط برنامه نویسان طراحی میشه ، به واسطه اینکه الان شاید خیلی حجم دغدغه اساسی نباشه این موضوع از اهمیتش کم بشه.
ولی واقعا در بحث Performance Tuning جز مباحث اصلی هست و خود این مساله میتونه سلسله وار کلی منابع دیگه رو درگیر بکنه و مشکلات عجیب غریبی رو ایجاد کنه.
در این کد من سعی کردم جداولی که دیتا دارن رو استخراج کنم و در نهایت Max طول هر فیلد رو حساب کردم و جلوش نوشتم.
در فاز بعد سعی می کنم اختلافات اون رو هم محاسبه کنم و اونهایی که اختلاف زیادی دارن رو شناسایی کنم.
ولی در این فاز این بخشش به صورت چشمی باید توسط برنامه نویسان انجام بشه.
خوشحال میشم نظرات شمارو هم در این باره بدونم.
نحوه استفاده از کد هم داخلش توضیح داده شده.
شاد باشین و شکرگزار
حمیدرضا صادقیان
@Hamidreza_Sadeghian
https://github.com/hmdsadeghian/Performance-Troubleshooting
امیدوارم حالتون عالی عالی باشه
من تصمیم دارم کدهایی که به نظر مهم میاد رو در گیت هاب قرار بدم و اینجا هم نشرش بدم تا اگه شما هم نیازی بهش داشتین بتونین ازش بهره بگیرید.
شما هم اگر علاقمند بودین در این امر مشارکت کنید ممنون میشم باهم صحبتی داشته باشیم.
اولین کدی که قرار دادم بدین شرح هست.
یکی از چالش هایی که در مباحث Performance Tuning باهاش سرو کله میزنیم ، بحث دیتاتایپ ها و طول آنهاست.
خیلی وقتها به دلیل اینکه اکثرا توسط ORM ها دیتابیس ها طراحی میشن شاید خیلی دقت نظری روی این موضوع نباشه. یا حتی اگه توسط برنامه نویسان طراحی میشه ، به واسطه اینکه الان شاید خیلی حجم دغدغه اساسی نباشه این موضوع از اهمیتش کم بشه.
ولی واقعا در بحث Performance Tuning جز مباحث اصلی هست و خود این مساله میتونه سلسله وار کلی منابع دیگه رو درگیر بکنه و مشکلات عجیب غریبی رو ایجاد کنه.
در این کد من سعی کردم جداولی که دیتا دارن رو استخراج کنم و در نهایت Max طول هر فیلد رو حساب کردم و جلوش نوشتم.
در فاز بعد سعی می کنم اختلافات اون رو هم محاسبه کنم و اونهایی که اختلاف زیادی دارن رو شناسایی کنم.
ولی در این فاز این بخشش به صورت چشمی باید توسط برنامه نویسان انجام بشه.
خوشحال میشم نظرات شمارو هم در این باره بدونم.
نحوه استفاده از کد هم داخلش توضیح داده شده.
شاد باشین و شکرگزار
حمیدرضا صادقیان
@Hamidreza_Sadeghian
https://github.com/hmdsadeghian/Performance-Troubleshooting
GitHub
GitHub - hmdsadeghian/Performance-Troubleshooting: This repository has been created to add useful scripts which I have written…
This repository has been created to add useful scripts which I have written in SQL Server. - hmdsadeghian/Performance-Troubleshooting
👍41❤5👌3
سلام خدمت دوستان عزیزم
امیدوارم که عالی عالی باشین
خدمت شما عرض کنم که SSMS version 20 preview 1 ارائه شده که میتونید از لینک زیر دانلودش کنید.
شاد باشین و شکرگزار
حمیدرضا صادقیان
@Hamidreza_Sadeghian
https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms-20?view=sql-server-ver16
امیدوارم که عالی عالی باشین
خدمت شما عرض کنم که SSMS version 20 preview 1 ارائه شده که میتونید از لینک زیر دانلودش کنید.
شاد باشین و شکرگزار
حمیدرضا صادقیان
@Hamidreza_Sadeghian
https://learn.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms-20?view=sql-server-ver16
Docs
Download SQL Server Management Studio (SSMS) - SQL Server Management Studio (SSMS)
Download the latest version of SQL Server Management Studio (SSMS) for managing and configuring instances of SQL Server and Azure SQL.
👍15❤2👎2
سلام خدما دوستان عزیزم
امیدوارم عالی عالی باشین
سال نو رو خدمت تمام دوستان عزیزم تبریک عرض میکنم
سالی پر از شادی، سلامتی، روزی فراوان و عشق و محبت رو برای تک تک شما آرزو میکنم.
امیدوارم انتهای سال موفق شده باشین به تمام اهدافی که برای خودتون ترسیم کردین رسیده باشین.
ارادتمند شما
حمیدرضا صادقیان
امیدوارم عالی عالی باشین
سال نو رو خدمت تمام دوستان عزیزم تبریک عرض میکنم
سالی پر از شادی، سلامتی، روزی فراوان و عشق و محبت رو برای تک تک شما آرزو میکنم.
امیدوارم انتهای سال موفق شده باشین به تمام اهدافی که برای خودتون ترسیم کردین رسیده باشین.
ارادتمند شما
حمیدرضا صادقیان
❤55🤩2👌2💯2🤝2
سلام خدمت دوستان عزیزم
امیدوارم حالتون عالی عالی باشه
داشتم سیستمها رو مانیتور می کردم ، دیدم که بعضی از Index ها Fragment بالایی دارند. با اینکه من جاب Index Maintenance هم دارم. اول رفتم جاب رو دیدم که ببینم نکنه اجرا نشده ، دیدم خیر داره اجرا میشه.
اومدم دستی ایندکس رو Rebuild کردم و وضعیتشو مانیتور کردم . دیدم که به شدت داره Fragment ایجاد میشه و توی 10 دقیقه دوباره 30 درصد Fragment ایجاد شد.
ساختار ایندکس رو بررسی کردم دیدم داخل کلید ایندکس یک فیلد داریم که از نوع Nvarchar هست و مدام این فیلد داره مقدارش Update میشه. با توجه به اینکه از نوع Nvarchar هست پس بسته به دیتایی که داره حجم اشغال میکنه. مقادیر رو بررسی کردم دیدم طول رشته هایی که داخلش بروز میشه متفاوت هست.
کاری که کردم این بود که مقدار Fill factor رو از 95 به 70 تغییر دادم و الان بعد از 24 ساعت تازه 20 درصد Fragment ایجاد شده است.
برای اینکه این مشکل اصولی حل بشه باید ساختار این فیلد عوض بشه که یا طولش ثابت بشه یا اینکه مدل ذخیره سازیش عوض بشه.
ولی در حال حاضر نیز با کاهش Fill Factor این مساله حل شد.
امیدوارم این نکته براتون مفید بوده باشه.
شاد باشین و شکرگزار
حمیدرضا صادقیان
@Hamidreza_Sadeghian
#Fillfactor #Fragment #Index #PerformanceTuning
امیدوارم حالتون عالی عالی باشه
داشتم سیستمها رو مانیتور می کردم ، دیدم که بعضی از Index ها Fragment بالایی دارند. با اینکه من جاب Index Maintenance هم دارم. اول رفتم جاب رو دیدم که ببینم نکنه اجرا نشده ، دیدم خیر داره اجرا میشه.
اومدم دستی ایندکس رو Rebuild کردم و وضعیتشو مانیتور کردم . دیدم که به شدت داره Fragment ایجاد میشه و توی 10 دقیقه دوباره 30 درصد Fragment ایجاد شد.
ساختار ایندکس رو بررسی کردم دیدم داخل کلید ایندکس یک فیلد داریم که از نوع Nvarchar هست و مدام این فیلد داره مقدارش Update میشه. با توجه به اینکه از نوع Nvarchar هست پس بسته به دیتایی که داره حجم اشغال میکنه. مقادیر رو بررسی کردم دیدم طول رشته هایی که داخلش بروز میشه متفاوت هست.
کاری که کردم این بود که مقدار Fill factor رو از 95 به 70 تغییر دادم و الان بعد از 24 ساعت تازه 20 درصد Fragment ایجاد شده است.
برای اینکه این مشکل اصولی حل بشه باید ساختار این فیلد عوض بشه که یا طولش ثابت بشه یا اینکه مدل ذخیره سازیش عوض بشه.
ولی در حال حاضر نیز با کاهش Fill Factor این مساله حل شد.
امیدوارم این نکته براتون مفید بوده باشه.
شاد باشین و شکرگزار
حمیدرضا صادقیان
@Hamidreza_Sadeghian
#Fillfactor #Fragment #Index #PerformanceTuning
👍81❤12👎2👏1
سلام به دوستان عزیزم
داشتم به ساختار LINQ در سی شارپ دقت می کردم ، خیلی جالبه که نحوه نوشتارش براساس Logical Processing خود زبان T-SQL هست. ترتیب نوشتار در زبان T-SQL به شکل زیر هست
1- Select
2- From
3- Where
4- Group by
5- having
6- order
ولی چیزی که در logical Processing رخ میده به این شکل هست
1- from
2- where
3- group by
4- having
5- select
6- order
خیلی برام جالب بود که دقیقا LINQ هم داره با این مدل نوشته میشه. این نکته از این جهت برام جالب بود که اگه این مدلی بهش نگاه بشه یادگیریش خیلی راحت خواهد بود و شاید این سوال رفع شده باشه که چرا در LINQ مثل زبان T-SQL دستور رو نمی نویسیم.
شاد باشین وشکرگزار
حمیدرضا صادقیان
#LINQ #TSQL #LogicalProcessing
داشتم به ساختار LINQ در سی شارپ دقت می کردم ، خیلی جالبه که نحوه نوشتارش براساس Logical Processing خود زبان T-SQL هست. ترتیب نوشتار در زبان T-SQL به شکل زیر هست
1- Select
2- From
3- Where
4- Group by
5- having
6- order
ولی چیزی که در logical Processing رخ میده به این شکل هست
1- from
2- where
3- group by
4- having
5- select
6- order
خیلی برام جالب بود که دقیقا LINQ هم داره با این مدل نوشته میشه. این نکته از این جهت برام جالب بود که اگه این مدلی بهش نگاه بشه یادگیریش خیلی راحت خواهد بود و شاید این سوال رفع شده باشه که چرا در LINQ مثل زبان T-SQL دستور رو نمی نویسیم.
شاد باشین وشکرگزار
حمیدرضا صادقیان
#LINQ #TSQL #LogicalProcessing
👍51👌7❤6👎1
سلام خدمت دوستان عزیزم
امیدوارم حالتون عالی عالی باشه
دیروز در یک سازمانی با کدی مواجه شدم که 72 ساعت زمان میبره اجرا بشه.
البته منطق محاسباتی پیچیده ای داره. خیلی جالبه که حتی Estimate plan رو زدم 4 دقیقه طول کشید و به دلیل پیچیدگی و تعداد plan های ایجاد شده تا 100 تا پلن رو نمایش میداد ولی دیگه مابقی صفحه سفید بود ولی اسکرول میشد 😑
در حال بهینه سازی کد فوق هستم انشالله در روزهای دیگه با نکاتی در این خصوص حتما پستی جداگانه قرار میدم.
فقط در بررسی های اولیه ، نکاتی که در این کد قابل مشاهده بود موارد زیر بود.
تفکر row Processing به جای Set-based که باعث شده بود استفاده از حلقه ها در SP های مورد نظر صورت بگیره..
استفاده های بسیار زیاد از توابع Scalar که حتی در نسخه 2022 قابلیت تبدیل به inline شدن هم نداشتند.
فعلا این موارد اولیه بررسی بود.
در آینده بیشتر بهش خواهم پرداخت
شاد باشین و شکرگزار
حمیدرضا صادقیان
امیدوارم حالتون عالی عالی باشه
دیروز در یک سازمانی با کدی مواجه شدم که 72 ساعت زمان میبره اجرا بشه.
البته منطق محاسباتی پیچیده ای داره. خیلی جالبه که حتی Estimate plan رو زدم 4 دقیقه طول کشید و به دلیل پیچیدگی و تعداد plan های ایجاد شده تا 100 تا پلن رو نمایش میداد ولی دیگه مابقی صفحه سفید بود ولی اسکرول میشد 😑
در حال بهینه سازی کد فوق هستم انشالله در روزهای دیگه با نکاتی در این خصوص حتما پستی جداگانه قرار میدم.
فقط در بررسی های اولیه ، نکاتی که در این کد قابل مشاهده بود موارد زیر بود.
تفکر row Processing به جای Set-based که باعث شده بود استفاده از حلقه ها در SP های مورد نظر صورت بگیره..
استفاده های بسیار زیاد از توابع Scalar که حتی در نسخه 2022 قابلیت تبدیل به inline شدن هم نداشتند.
فعلا این موارد اولیه بررسی بود.
در آینده بیشتر بهش خواهم پرداخت
شاد باشین و شکرگزار
حمیدرضا صادقیان
👍29❤6👌5
سلام خدمت دوستان عزیزم
امیدوارم حالتون عالی عالی باشه
یکی از مسائلی که ممکنه باهاش در محاسبات برخورد کنید نحوه رفع خطای Divide by zero هست که در ادامه روشهای گوناگون اون رو باهم بررسی می کنیم.
مثال زیر را در نظر بگیرید.
DECLARE @Product1 INT;
DECLARE @Product2 INT;
SET @Product1 = 20;
SET @Product2 = 0;
SELECT @Product1 / @Product2 AS ProductRatio;
با اجرای کد بالا خطای Divide by zero را دریافت خواهید کرد.
روش اول این هست که از تابع nullif استفاده کنید.
DECLARE@Product1INT;
DECLARE@Product2INT;
SET@Product1= 20;
SET@Product2=0;
SELECT@Product1/ NullIf(@Product2,0) AS ProductRatio;
روش دوم استفاده از Case When هست
DECLARE @Product1 INT;
DECLARE @Product2 INT;
SET @Product1 = 50;
SET @Product2 = 0;
SELECT @Product1 / case
when @product2= 0
then null
else @product2 end as ProductRatio;
روش سوم استفاده از Set ArithAbort هست
به صورت پیش فرض این دستور On هست و زمانی که یک تقسیم برصفر رخ بده ، خطا تولید میکنه. در صورتی که اونو غیرفعال کنید خروجی دستور null خواهد شد.
set arithabort off;
Set ansi_warnings off
DECLARE @Product1 INT;
DECLARE @Product2 INT;
SET @Product1 = 20;
SET @Product2 = 0;
SELECT @Product1 / @Product2 ProductRatio;
نکته : پیشنهاد میشه از روش سوم تا جای ممکن استفاده نشه که میتونه براتون مشکلات Performance ایجاد کنه. ترجیحا از دو روش ابتدایی استفاده کنید بهتره.
شاد باشین و شکرگزار
حمیدرضا صادقیان
امیدوارم حالتون عالی عالی باشه
یکی از مسائلی که ممکنه باهاش در محاسبات برخورد کنید نحوه رفع خطای Divide by zero هست که در ادامه روشهای گوناگون اون رو باهم بررسی می کنیم.
مثال زیر را در نظر بگیرید.
DECLARE @Product1 INT;
DECLARE @Product2 INT;
SET @Product1 = 20;
SET @Product2 = 0;
SELECT @Product1 / @Product2 AS ProductRatio;
با اجرای کد بالا خطای Divide by zero را دریافت خواهید کرد.
روش اول این هست که از تابع nullif استفاده کنید.
DECLARE@Product1INT;
DECLARE@Product2INT;
SET@Product1= 20;
SET@Product2=0;
SELECT@Product1/ NullIf(@Product2,0) AS ProductRatio;
روش دوم استفاده از Case When هست
DECLARE @Product1 INT;
DECLARE @Product2 INT;
SET @Product1 = 50;
SET @Product2 = 0;
SELECT @Product1 / case
when @product2= 0
then null
else @product2 end as ProductRatio;
روش سوم استفاده از Set ArithAbort هست
به صورت پیش فرض این دستور On هست و زمانی که یک تقسیم برصفر رخ بده ، خطا تولید میکنه. در صورتی که اونو غیرفعال کنید خروجی دستور null خواهد شد.
set arithabort off;
Set ansi_warnings off
DECLARE @Product1 INT;
DECLARE @Product2 INT;
SET @Product1 = 20;
SET @Product2 = 0;
SELECT @Product1 / @Product2 ProductRatio;
نکته : پیشنهاد میشه از روش سوم تا جای ممکن استفاده نشه که میتونه براتون مشکلات Performance ایجاد کنه. ترجیحا از دو روش ابتدایی استفاده کنید بهتره.
شاد باشین و شکرگزار
حمیدرضا صادقیان
👍44👌5👏4🤩2🔥1
سلام خدمت دوستان عزیزم
امیدوارم که عالی عالی باشین
خدمت شما عرض می کنم که وب سایتی تخصصی در حوزه Data راه اندازی کردیم.
هدف ما این هست که در این وب سایت در حوزه های مختلف داده ، تولید محتوا انجام بدیم.
این تولید محتواها در قالب فیلم های آموزشی ، پادکست ها و همچنین مقالات نوشتاری خواهد بود.
ممنون خواهم شد نظرات ارزشمندتون رو برای ما بیان کنید.
امیدوارم بتونیم در مسیر توسعه دانش ،گامی موثر رو برداریم.
شاد باشین و شکرگزار
حمیدرضا صادقیان
https://data-club.ir/
امیدوارم که عالی عالی باشین
خدمت شما عرض می کنم که وب سایتی تخصصی در حوزه Data راه اندازی کردیم.
هدف ما این هست که در این وب سایت در حوزه های مختلف داده ، تولید محتوا انجام بدیم.
این تولید محتواها در قالب فیلم های آموزشی ، پادکست ها و همچنین مقالات نوشتاری خواهد بود.
ممنون خواهم شد نظرات ارزشمندتون رو برای ما بیان کنید.
امیدوارم بتونیم در مسیر توسعه دانش ،گامی موثر رو برداریم.
شاد باشین و شکرگزار
حمیدرضا صادقیان
https://data-club.ir/
data-club
صفحه اصلی
Data-club وبگاه تخصصی در حوزه مدیریت و توسعه پایگاه داده و سیستم های اطلاعاتی سازمان ها و شرکت ها است. برای کسب تخصص Data-club را دنبال کنید.
👍22❤10👏6👌1