درباره نویسنده

سیدمحمد حسینی

سیدمحمد حسینی

کارشناس سازمان اسناد و املاک- مشاور و برنامه نویس ارشد شرکت اریس رایانه- مدرس دانشگاه- DBA- SQL Server Tuning

9 Comments

  1. مسعود طاهری

    مسعود طاهری

     مقاله کاربردی و خوب بود 

    متشکرم
    پاسخ دادن
  2. حمیدقلیپور

    حمیدقلیپور

       با سلام
    جناب حسینی مقاله شما حاصل تجربه و  تخصص بود و بسیار کاربردی؛ عالی بود.
    با تشکر

    پاسخ دادن
  3. فرشید علی اکبری

    فرشید علی اکبری

    سلام

    باید گفت این هم یکی دیگه از مقاله های کاربردی و خوبی بود که به نکات و ریزه کاریهای خوبی اشاره کرده بود. انشاءالله شاهد مقالات دیگه ای از شما دوست عزیز نیک آموزی باشیم.
    باتشکر و موفق باشید.
    پاسخ دادن
  4. مهدی ربانی ذبیحی

    مهدی ربانی ذبیحی

        با سلام 

    مقاله ای بسیار کاربردی ومفیدی بود با تشکر از شما دوست نیک اموزی عزیز
    پاسخ دادن
  5. حسن ضرابی

    حسن ضرابی

    با سلام و خسته نباشید

    کوئری بالا خط زیر را ارور می دهد

    [sql]
    SUBSTRING(ST.1,QS.statement_start_offset/2+1,
    [/sql]

    منظور از st.1 هست که در جاهای دیگر هم تکرار شده

    من منبع آن را بدست آوردم و کدها را در زیر می گذارم

    البته کدهای زیر برای همه دیتابیس ها عمل می کند

    [sql]
    sp_msforeachdb ‘ IF ”?” NOT IN (”msdb”,”master”,”tempdb”)
    BEGIN USE [?]
    SELECT top 100 DB_NAME() as [database], qs.total_worker_time /1000000 As TotalWorkerTime,
    QS.total_elapsed_time/1000000 As TotalElapsedTime_Sec,
    QS.total_elapsed_time/(1000000*qs.execution_count) AS [avg_elapsed_time_Sec],
    QS.execution_count,
    QS.total_logical_reads/QS.execution_count As Avg_logical_reads,
    QS.max_logical_writes, ST.text AS ParentQueryText,
    SUBSTRING(ST.,QS.statement_start_offset/2+1,
    (CASE WHEN QS.statement_end_offset = -1
    THEN LEN(CONVERT(nvarchar(max), ST.)) * 2
    ELSE QS.statement_end_offset
    END – QS.statement_start_offset)/2) AS [Query Text] ,
    QP.query_plan ,
    O.type_desc
    FROM sys.dm_exec_query_stats QS
    CROSS APPLY sys.dm_exec_sql_text(QS.sql_handle) AS ST
    CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) QP
    LEFT JOIN Sys.objects O ON
    O.object_id =St.objectid Where O.type_desc like ”%Function%”
    ORDER by qs.total_worker_time DESC ;
    END ‘
    [/sql]

    پاسخ دادن
    1. سیدمحمد حسینی

      سیدمحمد حسینی

        با سلام

      ممنون از همه دوستان و جناب طاهری عزیز
      جناب زرابی عزیر(اگر اشتباه نکرده باشم)
      بله شما درست میفرمایید و ممنون از اطلاع رسانی که فرمودید
      بنده در متن مقاله که نگاه کردم عبارت ST.[text][/text]نوشته شده ولی متوجه نشدم چرا در موقع نمایش به صورت ST.1 نمایش داده میشود.
      اگر جناب فرید طاهری عزیز راهنمایی کنند ممنون میشوم
      در حال حاظر، باید به جای عبارت ST.1 در دو خط عبارت ST.text جایگزین شود
      باز هم ممنون
      پاسخ دادن
      1. سیدمحمد حسینی

        سیدمحمد حسینی

            من فکر کنم یه باگ در سایت هست 

        چون باز هم درست نشون نمیده من در خطوط جدا مینویسم
        ST
        .
        [text][/text]
        درسته
  6. محسن فرید

    سلام ببخشید من یه سوال داشتم یه کد نوشم اما معادلش رو تو ان تی تی نمیدونم
    ممنون میشم کمک کنید حتی با هزینه
    DECLARE @userTypeId BIGINT;
    SET @userTypeId = 1;

    WITH tblChild AS
    (
        SELECT *
            FROM jt_PrdGroup WHERE ParentId = @userTypeId
        UNION ALL
        SELECT jt_PrdGroup.* FROM jt_PrdGroup  JOIN tblChild  ON jt_PrdGroup.ParentId = tblChild.Id
    )
    SELECT * FROM jt_Product p INNER JOIN (
    SELECT *
        FROM tblChild
        UNION ALL
        SELECT jt_PrdGroup.* FROM jt_PrdGroup WHERE  jt_PrdGroup.Id = @userTypeId)
        m1 ON m1.ID = p.Kind  

    پاسخ دادن
    1. سید محمد حسینی

      سلام

      با اجازه استاد طاهری عزیز
      اگر منظورتون رو درست متوجه شده باشم و منظورتون از ان تی تی همون Entity Framework باشد، تا جایی که بنده میدونم و در لینک زیر هم این رو گفته که EF از پرسوجوهای Recursive و Hierarchical پشتیبانی نمی کنه
      ولی شما میتونی از طریق EF کد SQL تون رو اجرا کنید، لینک های زیر میتونه کمکتون کنه:
      پاسخ دادن

ارسال نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تمامی حقوق مادی و معنوی این وب سایت متعلق به نیک آموز می باشد.
این سایت توسط تیم آموزش برنامه نویسی نیک آموز مدیریت می شود.

به دلیل جلوگیری از شیوع ویروس کرونا، همایش معماری میکروسرویس به صورت آنلاین برگزار خواهد شد.
اطلاعات بیشتر
close-image