美文网首页
数据库查询

数据库查询

作者: biubiudog | 来源:发表于2018-10-30 16:16 被阅读0次

一、union和union_all

1.union 和 union_all   将两个结果集合并在一起(可以查询不同的表)

eg: 

select max(id) from users where created_at <= "#{Time.now.strftime('%F %T')}" union all  select max(id) from users where created_at <= "#{(Time.now - 1.month).strftime('%F %T')}"

注意:

1. union all只是将查询出的数据合并显示出来即可

    union则会在运行时查询出结果,再去删除重复的记录,最后返回结果集。

2. 效率上 union all的查询会快很多

3. union查询时查询的列个数,列顺序需要完全一致。


二 、索引

1.在创建数据表时直接创建索引

rails g model user student references

rails创建时会自动的为users表和student_id创建索引:

add_index :users, :student_id

2.手动添加索引

rails g migration add_student_id_index_to_users 

修改change部分,手动添加索引

def change

    add_index :users, :student_id

end

3. 多对多关系中添加索引

add_index :classroom , [:student_id, :teacher_id]

覆盖索引:create index index_name_and_age on users(name, age)

select name from users where age = 12

单索引查找时,根据条件查找出主键(id),然后通过主键去查找需要搜索的结果。

覆盖索引查找时,直接根据条件查找出对应的结果(name)并返回。

相关文章

  • SQL server数据库

    查询数据库 查询所有数据库 exec sp_helpdb; 查询数据库test exec sp_helpdb te...

  • MySQL, SQLite 和 PostgreSQL 关于inf

    显示(查询)所有的数据库 MySQL查询: PostgreSQL查询: 查询当前数据库中所有的表信息 like后可...

  • MongoDB开发之 Shell基本操作

    引子 运行 数据库 查看当前数据库: 选择数据库: 创建 执行插入操作: 查询 查询单条数据: 更新 执行查询操作...

  • 数据库扩展解决方案

    1. 缓存数据库查询 缓存数据库查询是可以处理数据库负载的最简单的改进之一。通常,应用程序将包含少数查询,这些查询...

  • 查看postgres数据库连接数

    查询数据库允许的最大连接数: 查询结果: max_connections1000 查询数据库当前连接数脚本: 查询...

  • kettle 知识

    kettle的正常转换速度 容易产生性能问题的场景 1. 查询类: 数据库查询:数据库查询、数据库连接、插入更新 ...

  • MYSQL 3.语法整理

    数据库数据查询知识 请查询 Mysql 1.数据库基本语法 -- 数据库操作 SHOW DATABASES; --...

  • spring集成mybatis使mybatis一级缓存失效

    使用mybatis查询数据库: spring集成mybatis查询数据库: 总结:spring集成mybatis进...

  • Mysql常用语句

    1.查询数据库所有表信息: 2.查询数据库所有表字段结构: 3.查询数据库所有视图定义: 4.mysql常用函数:

  • 使用SQL查询所有数据库名和表名

    MySQL中查询所有数据库名和表名 1. 查询所有数据库 2. 查询指定数据库中所有表名 3. 查询指定表中的所有...

网友评论

      本文标题:数据库查询

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