Explain the paging query processing method of sqlserver
The following are several ways to write query scripts that I have found online, and I hereby share them on the Script House platform for your reference.
sqlserver2008 does not support the keyword limit, so its paging sql query statements will not be able to Use MySQL method. Fortunately, sqlserver2008 provides keywords such as top and rownumber, so that paging can be achieved through these keywords.
The following are the writing methods of several query scripts that I found on the Internet:
Several sqlserver2008 efficient paging sql query statements
top solution:
sql code:
select top 10 * from table1 where id not in(select top 开始的位置 id from table1)
max :
sql code:
select top 10 * from table1 where id>(select max(id) from (select top 开始位置 id from table1 order by id)tt)
row:
sql code:
select * from ( select row_number()over(order by tempcolumn)temprownumber,* from (select top 开始位置+10 tempcolumn=0,* from table1)t )tt where temprownumber>开始位置
3 paging methods, namely max plan, top plan, row plan
Efficiency:
1st: row
2nd: max
3rd: top
Disadvantages:
max: The user must write complex sql, does not support non-unique column sorting
top: The user must write complex sql sql, composite primary key is not supported
row: sqlserver2000 is not supported
Test data:
A total of 3.2 million pieces of data, Each page displays 10 pieces of data, and 20,000 pages, 150,000 pages and 320,000 pages were tested respectively.
Page number, top plan, max plan, row plan
20,000, 60ms, 46ms, 33ms
150,000, 453ms, 343ms, 310ms
320,000, 953ms, 720ms , 686ms
is a paging solution that splices sql statements through a program.
The sql statements mentioned by users do not require writing complex sql logic
No user provides sql as follows
sql code
##
select * from table1
select * from ( select row_number()over(order by tempcolumn)temprownumber,* from (select top 10 tempcolumn=0,* from table1)t )tt where temprownumber>5
##
select top 20 tempcolumn=0,* from clazz
Nested one level, so that the row number can be queried
The column just now is used Order by is used here
(I don’t know why sqlserver’s row_number function must order by)
sql code
select row_number()over(order by tempcolumn)temprownumber,* from (修改过的查询)t
Apply another layer and filter out rows with row numbers smaller than the starting position
sql code
select * from (第二层)tt where temprownumber>10
The above is the detailed content of Explain the paging query processing method of sqlserver. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

The import steps are as follows: Copy the MDF file to SQL Server's data directory (usually C:\Program Files\Microsoft SQL Server\MSSQL\DATA). In SQL Server Management Studio (SSMS), open the database and select Attach. Click the Add button and select the MDF file. Confirm the database name and click the OK button.

For objects with the same name that already exist in the SQL Server database, the following steps need to be taken: Confirm the object type (table, view, stored procedure). IF NOT EXISTS can be used to skip creation if the object is empty. If the object has data, use a different name or modify the structure. Use DROP to delete existing objects (use caution, backup recommended). Check for schema changes to make sure there are no references to deleted or renamed objects.

To view the SQL Server port number: Open SSMS and connect to the server. Find the server name in Object Explorer, right-click it and select Properties. In the Connection tab, view the TCP Port field.

When the SQL Server service fails to start, here are some steps to resolve: Check the error log to determine the root cause. Make sure the service account has permission to start the service. Check whether dependency services are running. Disable antivirus software. Repair SQL Server installation. If the repair does not work, reinstall SQL Server.

If you accidentally delete a SQL Server database, you can take the following steps to recover: stop database activity; back up log files; check database logs; recovery options: restore from backup; restore from transaction log; use DBCC CHECKDB; use third-party tools. Please back up your database regularly and enable transaction logging to prevent data loss.

SQL Server database files are usually stored in the following default location: Windows: C:\Program Files\Microsoft SQL Server\MSSQL\DATALinux: /var/opt/mssql/data The database file location can be customized by modifying the database file path setting.

If the SQL Server installation fails, you can clean it up by following these steps: Uninstall SQL Server Delete registry keys Delete files and folders Restart the computer

Download the latest version of 12306 ticket booking app. It is a travel ticket purchasing software that everyone is very satisfied with. It is very convenient to go wherever you want. There are many ticket sources provided in the software. You only need to pass real-name authentication to purchase tickets online. All users You can easily buy travel tickets and air tickets and enjoy different discounts. You can also start booking reservations in advance to grab tickets. You can book hotels or special car transfers. With it, you can go where you want to go and buy tickets with one click. Traveling is simpler and more convenient, making everyone's travel experience more comfortable. Now the editor details it online Provides 12306 users with a way to view historical ticket purchase records. 1. Open Railway 12306, click My in the lower right corner, and click My Order 2. Click Paid on the order page. 3. On the paid page
