Views simplify repeated joins; stored procedures run logic on server—Laravel/ORM apps often keep logic in PHP instead.
View
CREATE VIEW open_order_totals AS
SELECT customer_id, SUM(total) AS open_total
FROM orders WHERE status = 'open'
GROUP BY customer_id;
SELECT * FROM open_order_totals WHERE open_total > 100;Practice: Run on practice.
Stored procedure sketch
DELIMITER //
CREATE PROCEDURE close_old_orders()
BEGIN
UPDATE orders SET status = 'archived'
WHERE status = 'open' AND created_at < NOW() - INTERVAL 90 DAY;
END //
DELIMITER ;
ORM perspective
Migrations and Eloquent favor version-controlled PHP—procedures are ops-heavy to deploy.
Important interview questions and answers
- Q: View updatable?
A: Some simple views allow INSERT/UPDATE—complex views are read-only. - Q: Procedure vs app logic?
A: Procedures reduce round trips but hide behavior from code review.
Self-check
- What does the view aggregate?
- Why teams prefer migrations over ad-hoc procedures?
Tip: Prefer Laravel migrations over hidden server procedures.
Interview prep
- View?
Saved SELECT—simplifies repeated reporting queries.
- Procedure trade-off?
Logic on server vs version control in app code.