Friday, November 23, 2007

SQL Keywords and Descriptions

Code

Description

ABORT
Aborts the current transaction
ALTER TABLEModifies table properties
ALTER USERModifies user account information
BEGIN WORKBegins a transaction
CLOSEClose a cursor
CLUSTERGives storage clustering advice to the backend
COMMITCommits the current transaction
COPYCopies data between files and tables
CREATE AGGREGATEDefines a new aggregate function
CREATE DATABASECreates a new database
CREATE FUNCTIONDefines a new function
CREATE INDEXConstructs a secondary index
CREATE LANGUAGEDefines a new language for functions
CREATE OPERATORDefines a new user operator
CREATE RULEDefines a new rule
CREATE SEQUENCECreates a new sequence number generator
CREATE TABLECreates a new table
CREATE TABLE ASCreates a new table
CREATE TRIGGERCreates a new trigger
CREATE TYPEDefines a new base data type
CREATE USERCreates account information for a new user
CREATE VIEWConstructs a virtual table
DECLAREDefines a cursor for table access
DELETEDeletes rows from a table
DROP AGGREGATERemoves the definition of an aggregate function
DROP DATABASEDestroys an existing database
DROP FUNCTIONRemoves a user-defined C function
DROP INDEXRemoves an index from a database
DROP LANGUAGERemoves a user-defined procedural language
DROP OPERATORRemoves an operator from the database
DROP RULERemoves an existing rule from the database
DROP SEQUENCERemoves an existing sequence
DROP TABLERemoves existing tables from a database
DROP TRIGGERRemoves the definition of a trigger
DROP TYPERemoves a user-defined type from the system catalogs
DROP USERRemoves an user account information
DROP VIEWRemoves an existing view from a database
EXPLAINShows statement execution details
FETCHGets rows using a cursor
GRANTGrants access privilege to a user, a group or all users
INSERTInserts new rows into a table
LISTENListen for notification on a notify condition
LOADDynamically loads an object file
LOCKExplicit lock of a table inside a transaction
MOVEMoves cursor position
NOTIFYSignals all frontends and backends listening on a notify condition
RESETRestores run-time parameters for session to default values
REVOKE
Revokes access privilege from a user, a group or all users.
ROLLBACKAborts the current transaction
SELECTRetrieve rows from a table or view
SELECT INTOCreate a new table from an existing table or view
SETSet run-time parameters for session
SHOWShows run-time parameters for session
UNLISTENStop listening for notification
UPDATEReplaces values of columns in a table

Topics in Interview Point of View


1. Framework(CLR,Class Library)
2. Assemblies (Private Assemblies and shared Assemblies,Satellite Assemblies)
3. Reflection
4. Oops(Abstarct Classes,Interfaces,Overloading,Overriding,Encapsulation,Inheritance,..)
5. XML Intro,XML Schema
6. Authentication and Authorisation
7. Delegate
8. Web.Config,Machine Config
9. Managed code and Unmanaged Code and managed data
10. Interoperability
11. Application domain
12. Webservices
13. ADO.net (DataAdapter,DataReader,Dataset,Dataview,DataTable,SqlCommand,SqlConnection)
14. State Management (ViewState,Session,Appication,Querystring,Cookies)
15. Exception, Error handling
16. Caching
17. Tracing (Page Trace)
18. Validation controls(Required,Range,Compare,Custom,Validation Summary)
19. Display Controls (Data Grid,Data List,Reader,Calender,Hidden,Dropdown List,List Box,Radio Button List,Check Box List)
20. Style Sheet(CSS)
21. Global.asax
22. User Controls and Custom controls
23. Frame Set

Thursday, November 22, 2007

Session State Modes

Storage location

InProc - session kept as live objects in web server (aspnet_wp.exe)

StateServer - session serialized and stored in memory in a separate process aspnet_state.exe). State Server can run on another machine

SQLServer - session serialized and stored in SQL server



Performance

InProc - Fastest, but the more session data, the more memory is consumed on the web server, and that can affect performance.

StateServer - When storing data of basic types (e.g. string, integer, etc), in one test environment it's 15% slower than InProc. However, the cost of serialization/deserialization can affect performance if you're storing lots of objects. You have to do performance testing for your own scenario.

SQLServer - When storing data of basic types (e.g. string, integer, etc), in one test environment it's 25% slower than InProc. Same warning about serialization as in StateServer.