Citat:
Originally posted by Magnus_A@Jan 11 2009, 13:34
Bra att tänka på när man designar databaser är att göra så mycket jobb som möjligt med beräkningar, urval, sortering mm i mysql istället för i sidscriptet. Mycket snabbare och oftast lättare att koda.
|
... och så fungerar det likadant oavsett vilken applikation som anropar SQL-koden.
Ett annat tips är att skapa vyer med komplicerat SQL-kod då minskar man risken att man kodar fel i SQL-satsen på sidscriptet. Detta är synnerligen bra om man har komplex SQL eller om man anropar den på flera olika ställen i scriptkod.
Syntax:
http://dev.mysql.com/doc/refman/5.0/en/cre...reate-view.html
Kod:
CREATE TABLE tblInvoice (qty INT, price INT);
INSERT INTO tblInvoice VALUES(3, 50);
CREATE VIEW vInvoice AS SELECT qty, price, qty*price AS value FROM tblInvoice;
SELECT * FROM vInvoice;
+------+-------+-------+
| *qty* | *price | value |
+------+-------+-------+
| * *3 * | * *50 *| * 150 *|
+------+-------+-------+
Kod:
CREATE VIEW vPosts AS
SELECT `posts`.id, `posts`.title, `posts`.text, `posts`.tags, `posts`.user_id,DATE_FORMAT(`posts`.date,'%e %b %Y %H:%i') AS newdate,
(SELECT `users`.uname FROM `users` WHERE `posts`.user_id = `users`.user_id) AS uname
FROM `posts`
WHERE MONTH(`date`)=MONTH(NOW())
ORDER BY `date` DESC LIMIT 5;
För att anropa denna vy skriver man bara:
Kod:
SELECT * FROM vPosts;