3. User Defined functions UDF
⢠A function is a subprogram written to
perform certain computations
⢠It can be used with sql select queries
same like we use any other scalar or
aggregate functions that we discussed
earlier (eg: sum(), Avg() etc)
4. Example
⢠Write a function that returns Holiday or working day depending upon the
day of week. If it is Saturday or Sunday it should display holiday or else
working day
DELIMITER //
CREATE FUNCTION fun_getDAy(x datetime) RETURNS VARCHAR(15)
BEGIN
DECLARE dayname varchar(15) DEFAULT âHOLIDAYâ;
IF(WEEKDAY(x)<5) THEN
SET dayname=âWORKING DAYâ;
END IF;
RETURN dayname;
END //
DELIMITER ;
5. Difference Between SP and UDF
⢠Functions are compiled and
executed at run time thus pretty
slower than stored procedure
⢠UDF canât perform DML operations
like insert, update, delete etc but
the same can do from SP
⢠UDF cant call a Stored Procedure or
another UDF inside a UDF
⢠UDF must return a value
⢠Procedueres are compiled and
stored . So at run time no need of
compilation required which makes
pretty much faster
⢠SP can perform all DDL,DML and
DCL operations
⢠Stored procedure can call a UDF or
another stored procedure inside it
⢠Stored procedure may or may not
return any values
7. Views
⢠A view is a customized representation of
data from one or more tables. The table
that the view is referencing are known as
base tables.
⢠A view can be considered as a stored
query or a virtual table
⢠View Doesn't take any storage space
8. Example
⢠Creating a view
â Create View view_teacher as select * from
tbl_teacher where teacher_name like ât%â
⢠Using a View
âWe can query against a view as we do
in a table
âSelect * from view_teacher where
teacher_id=1
9. Advantages of View
⢠Data Security
â No need to give permission on the table. infact a view
can be created, having only selected number of
columns in its definition. So user will only be able to
see those columns
⢠Simplicity
⢠A very complicated query can be saved as a view
definition. When needed can be called by its view
name
⢠Removes Dependency
⢠Can be very helpful to remove the dependency from
the underlying tables. Suppose a view is created
joining several tables. After some time, there are some
changes on the table, so only definition of view can be
11. Indexing
⢠A database index is a data structure that
improves the speed of operations in a table.
⢠Without an index, MySQL must begin with the
first row and then read through the entire table
to find the relevant rows. The larger the table,
the more this costs.
⢠INSERT and UPDATE statements take more
time on tables having indexes where as
SELECT statements become fast on those
tables. The reason is that while doing insert
12. Indexing
⢠Syntax
â CREATE INDEX index_name ON table_name
( column1, column2,...);
⢠Example
â CREATE INDEX AUTHOR_INDEX ON
tutorials_tbl (tutorial_author)
13. Points to be noted
⢠In Mysql whenever you create a table with
primary key, the same column will be
indexed
⢠So you donât have to explicitly create an
index for primary key column
⢠Simply below also a way of indexing a
table
â ALTER TABLE testalter_tbl ADD PRIMARY