search
HomeBackend DevelopmentPHP TutorialHow to quickly get the total number of records in a table in MS SQLSERVER_PHP Tutorial

How to quickly get the total number of records in a table in MS SQLSERVER_PHP Tutorial

Jul 13, 2016 pm 05:01 PM
sqlserverexisthowfasttotalusdatabaseuseofObtainsurfaceRecorddesignneed

In the design of database applications, we often need to obtain the total number of records in certain tables to determine whether the total number of records in the table is too large and whether data needs to be backed up. Our usual approach is: select count(*) as c from tableA. However, for a table with a huge number of records, the above approach will be very time-consuming. During the test on the DELL 4400 server, the MS Sqlserver 2000 database executed the above statement on a simple data table with 1 million records, which took more than 1 minute. If you create a clustered index on a certain field of the table, the time it takes to execute the statement for the first time is almost the same as when there is no index. After that, the above statement is executed very quickly, within 1 second, but when the number of records in the table changes After major changes, executing the statement again will go through a time-consuming process. And not every table is suitable for a clustered index. For a huge number of tables, if frequent additions and deletions are required, it is unwise to build a clustered index, which will greatly affect the speed of additions and deletions. So is there a simpler way to quickly get the total number of records in the table? The answer is yes.
In MS SQL database, each table has at least one record in the sysindexes system table, and the rows field in the record will regularly record the total number of records in the table. The following is the meaning of the related records of the sysindexes table:
Column name Data type Description
id int table ID (if indid = 0 or 255). Otherwise, it is the ID of the table to which the index belongs
Indid smallint Index ID:
0 = table
1 = clustered index
> 1 = non-clustered index
255 = has text or image data table entry.
rows int Number of data-level rows based on indid=0 and indid=1. This value is repeated for indid>1. If indid=255, rows is set to 0.


Indid = 0 when the table does not have a clustered index and 1 otherwise.
Now you should know how to get the total number of records in the table. Just execute the following statement:
select rows from sysindexes where id = object_id(tablename) and indid in (0,1)
This method gets The total number of records in the table is very fast. It can be completed in milliseconds. It is tens of thousands of times faster than select count(*). However, when using this method, you must pay attention to the total number of records in the table obtained by this method. It is not an exact value. The reason is that MS SQL does not update the value of this field in real time, but updates it regularly. In practice, the error between this value and the precise value is generally not large. If you want to quickly and roughly estimate the size of the table, it is recommended. You take that approach. If you want to get the exact value, please execute DBCC UPDATEUSAGE(DatabaseName,[TABLENAME]) WITH ROW_COUNTS before executing the above statement to force the value of the field to be updated, but this will take a lot of time during the first update. The effect of this The effect of select count (*) is not much different from that of a table with a clustered index, so if you want to get the accurate total number of records in the table relatively quickly, then you have two options, build a clustered index or use DBCC first and then use the above method.


www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/631131.htmlTechArticleIn the design of database applications, we often need to obtain the total number of records in certain tables to determine the number of records in the table. Whether the total number of records is too large, whether data needs to be backed up, etc. Our usual approach...
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

How to make PHP applications fasterHow to make PHP applications fasterMay 12, 2025 am 12:12 AM

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

PHP Performance Optimization Checklist: Improve Speed NowPHP Performance Optimization Checklist: Improve Speed NowMay 12, 2025 am 12:07 AM

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

PHP Dependency Injection: Improve Code TestabilityPHP Dependency Injection: Improve Code TestabilityMay 12, 2025 am 12:03 AM

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

PHP Performance Optimization: Database Query OptimizationPHP Performance Optimization: Database Query OptimizationMay 12, 2025 am 12:02 AM

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Article

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),