• 数据库问题


    mysql

    事务问题。

    在一次开发过程中,发现mysql事务rollback没有起作用,研究了一下,发现事务还有如下特点:

    1、auto_increment值不会被rollback

    2、不是所有语句都支持事务,如create table和alter table不支持事务。

    3、如果一个事务中的某条语句不支持事务(比如有一条create table语句),那么所有查询都将被执行,不会rollback。

    4、当发生3的情况时,数据库查询记录上仍显示:

    BEGIN

    INSERT INTO ......

    CREATE TABLE ......

    ROLLBACK

    这时虽然显示rollback,实际上数据库内容并没有rollback,insert语句和create语句都被数据库执行了。

    按查询顺序排序:

    select id from users where id in (2,1,5,3,4);

    返回结果为:1,2,3,4,5

    select id from users where id in (2,1,5,3,4) order by field(id,2,1,5,3,4);

    返回结果为:2,1,5,3,4

    mysql配置变量(show variables like '%max%';)

    max_allowed_packet                数值在16M以上,如:20971520(20M)这个参数限制mysql返回数据量的大小。
    innodb_buffer_pool_size           数值调高,如:536870912(512M)
    query_cache_size                  调高,如:16777216(16M)
    query_cache_type                  调成ON
    以上配置对mysql影响比较大
    如果想开启慢查询log,修改以下变量数值:
    long_query_time                   0.400000
    slow_query_log                    ON
    slow_query_log_file               /var/run/mysqld/mysqld-slow.log

    redis

    rails使用resque处理任务,用命令行插入数据:

    redis-cli sismember resque:queues email_queue        # 1 or 0
    redis-cli sadd resque:queues email_queue    #如果上句返回值是0


    redis-cli rpush resque:queue:email_queue '{"class":"Email","args":[902,5,6]}'
    redis-cli rpush resque:queue:mailer '{"class":"Mailer","args":["email",5,{"from":"abc@def.ghi","email_id":1}]}'

    失败任务重新加入队列:

    (Resque::Failure.count-1).downto(0).each do |i|
      Resque::Failure.requeue(i)
      Resque::Failure.remove(i)
    end

    oracle

    查看表结构:

    SELECT T1.TABLE_NAME,
    T1.COLUMN_NAME,
    T1.DATA_TYPE || '(' || T1.DATA_LENGTH || ')',
    T2.COMMENTS
    FROM USER_TAB_COLS T1, USER_COL_COMMENTS T2
    WHERE T1.TABLE_NAME = T2.TABLE_NAME
    AND T1.COLUMN_NAME = T2.COLUMN_NAME
    AND T1.TABLE_NAME =upper('user_table_name') ;

  • 相关阅读:
    单机安装nginx
    单机安装hdfs
    单机安装postgresql
    cookie和session
    zookeeper的学习笔记
    java的反射和代理
    spring boot配置404 和 500错误页面跳转
    react + ant Upload前端解析excel文件后时间解析为数字转化回日期格式
    Chrome浏览器手动添加Cookie
    实现table列拖拽插件(colResizable)
  • 原文地址:https://www.cnblogs.com/zycjwdss/p/3317148.html
Copyright © 2020-2023  润新知