SQL Server full text query across multiple tables - why so slow?

后端 未结 2 1177
庸人自扰
庸人自扰 2021-01-02 15:26

I\'m trying to understand the performance of an SQL Server 2008 full-text query I am constructing.

The following query, using a full-text index, returns the correct

相关标签:
2条回答
  • 2021-01-02 16:14

    Try rewriting your query using FREETEXTTABLE and see if that helps.

    SELECT
        O.ID, O.Name
    FROM
        dbo.EventOccurrence O
        INNER JOIN dbo.Event E ON O.EventID = E.ID
        INNER JOIN dbo.Venue V ON E.VenueID = V.ID
        LEFT JOIN FREETEXTTABLE(dbo.Event, Name, 'search') EFT 
            ON E.ID = EFT.[KEY]
        LEFT JOIN FREETEXTTABLE(dbo.Venue, Name, 'search') VFT 
            ON V.ID = VFT.[KEY]
    WHERE EFT.[KEY] IS NOT NULL OR VFT.[KEY] IS NOT NULL
    
    0 讨论(0)
  • 2021-01-02 16:19

    How does the execution plan for this compare?

    SELECT
        O.ID, O.Name
    FROM
        dbo.EventOccurrence O
        WHERE O.EventID IN (
                SELECT
                    E.ID
                FROM
                     dbo.Event E
                WHERE
                    FREETEXT(E.Name, 'search')
                UNION
                SELECT
                    E.ID
                FROM
                     dbo.Event E
                    INNER JOIN dbo.Venue V ON E.VenueID = V.ID
                WHERE
                    FREETEXT(V.Name, 'search')
                    )
    
    0 讨论(0)
提交回复
热议问题