Delete
|
Truncate
|
In
Delete Query we can use Where Clause
|
In
Truncate Query we can not use Where Clause
|
Syntax
DELETE
FROM
[Table_Name]
or
DELETE
FROM
[Table_Name] WHERE
[Condition]
|
Syntax:
TRUNCATE
TABLE
[Table_Name]
|
| Comparing the Delete is Slower than truncate | Comparing the Truncate is faster than the delete query |
| In Delete Query we can delete single only or multiple rows by using where clause. | In Truncate Query All the rows data truncated from table. |
| We can use triggers when delete query is executed . | We can not use triggers when truncate query is executed. |
| Delete query is logs the data. | Truncate can not log the data. |
| Delete query delete the data from table using row by row scenario. | Truncate query truncate the data from table using page by page scenario. |
| Delete can not reset the identity value in a table. | Truncate can reset the identity value in a table. |
It
does not claims the memory after delete operation is performed
Example:
Create
table
CREATE
TABLE
TempStudent
(
FName
varchar(100),
LName
varchar(100)
)
Insert
some dummy data
Insert
into
TempStudent(FName,LName)
VALUES('Rakesh','Kalluri')
Go
1000
Check
the memory used for this table.
exec
sp_spaceused
'TempStudent'
Delete
data from table
DELETE
FROM
TempStudent
Check
the memory used for this table after delete
exec
sp_spaceused
'TempStudent'
|
It
claims the memory after truncate operation is performed
Example:
Create
table
CREATE
TABLE
TempStudent
(
FName
varchar(100),
LName
varchar(100)
)
Insert
some dummy data
Insert
into
TempStudent(FName,LName)
VALUES('Rakesh','Kalluri')
Go
1000
Check
the memory used for this table.
exec
sp_spaceused
'TempStudent'
Truncate
data from table
TRUNCATE
TABLE
TempStudent
Check
the memory used for this table after truncate
exec
sp_spaceused
'TempStudent'
|
Stop the processing after the number of rows has been affected. Example: Step-1: Create the Table and insert some sample data. CREATE TABLE STUDENT ( ID INT IDENTITY ( 1 , 1 ) PRIMARY KEY , STUDENTNAME VARCHAR ( 100 ) NOT NULL , LIVINGLOCATION VARCHAR ( 100 ) NULL ) INSERT INTO STUDENT ( STUDENTNAME , LIVINGLOCATION ) SELECT 'Rakesh' , 'Hyderabad' UNION ALL SELECT 'Raju' , 'Delhi' UNION ALL SELECT 'Madhu' , 'Hyderabad' UNION ALL SELECT 'Naresh' ,NULL UNION ALL SELECT 'Venaktesh' , 'Chennai' In above Insert Statement we inserted 5 sample records. Step-2: Using SET ROWCOUT SET ROWCOUNT 3 ; SELECT * FROM STUDENT ORDER BY ID DESC It will affected 3 rows after that processing has been stopped. Step-2: Using SET ROWCOUT 0 SET ROWCOUNT 0 ; SELECT * FROM STUDENT ORDER BY ID DESC ...
Thank you so much
ReplyDelete