SQL

作者: 木子兜兜 | 来源:发表于2019-01-20 20:20 被阅读0次

    一.存储过程
    1.创建存储过程的方法和创建视图差不多,即:


    image.png

    这里表示创建一个名叫productpricing的存储过程,计算并返回3个参数,类型都是8位的,小数位为2位的十进制数值。
    如果不传递参数后面的括号也不能省略,因为存储过程实际上是一种函数。存储过程的代码位于BEGIN和END语句内。

    2.调用存储过程的时候,有参数的必须指定,不多也不少,e.g.调用上图的存储过程应是:
    CALL productpricing(@pricelow,@pricehigh,@priceaverage);
    在调用存储过程时,并不显示任何数据,它返回以后可以显示(或在其他处理中使用)的变量。
    e.g.为了显示结果,可以在调用存储过程之后,
    SELECT @pricehigh,@pricelow,@priceaverage
    所有MYSQL的变量都必须以@开始。

    3.为显示用来创建存储过程的语句,可以用SHOW CREATE PROCEDURE productpricing;
    为获得包括何时,由谁创建等详细信息的存储过程列表,可以用SHOW PROCEDURE STATUS。

    二.改善性能
    1.在平常写SQL语句的时候我的SELECT语句中经常含有多个OR条件,用多条SELECT语句和连接它们的UNION语句,可以极大的改善性能;
    2.LIKE很慢,一般来说,最好使用FULL TEXT;
    3.一般来说,存储过程执行得比一条一条地执行其中的各条MYSQL语句快;

    三.引擎
    1.MyISAM是MySQL的默认数据库引擎,性能极佳,支持全文本搜索,但不支持事务处理(transaction)
    2.InnoDB是一个可靠的事务处理引擎,它不支持全文本搜索,另外只有InnoDB引擎才允许使用外键

    相关文章

      网友评论

        本文标题:SQL

        本文链接:https://www.haomeiwen.com/subject/tohfjqtx.html