现在有A表,主键为id(innodb) 由于权限的管理,建立A表的视图 当利用其它表与A表做关联的时候,使用查询语句为B.id = A.id
当直接使用A表的时候,可以使用主键Index 当使用A表的视图的时候,就只能扫描整个视图,因为mysql无法在视图上建立索引。查询速度很慢 请问如何解决这种问题,有什么好的办法
当直接使用A表的时候,可以使用主键Index 当使用A表的视图的时候,就只能扫描整个视图,因为mysql无法在视图上建立索引。查询速度很慢 请问如何解决这种问题,有什么好的办法
解决方案 »
- mysql子查询问题(很奇葩的子查询)
- mysql大批量删除数据,并涉及到其他表,具体问题乳正文,在线ing
- 部分字段的索引中,Sub_part的数字是byte还是字数?
- 为什么显示得这么乱呢?
- SQL里面数组与数组的对比查询怎么写?
- 初学 mysql ,请指点!!!
- 初学pgSQL,请教如何替换字段中的指定字符
- 关于mysql的安装问题高分相送
- mysql中编辑数据表数据的时候打不开,该怎么解决??(试过多种方法,始终不能有效解决)
- MySql 如何获取异常的消息(比如oracle的sqlerrm 或 sqlserver 的 ERROR_MESSAGE())
- mysql存储的中文都是乱码
- mysql中如何按 年 月 日 这三个参数进行数据查询
MYSQL HELP
You can use the TEMPORARY keyword when creating a table. A TEMPORARY table is visible only to the current connection, and is dropped automatically when the connection is closed. This means that two different connections can use the same temporary table name without conflicting with each other or with an existing non-TEMPORARY table of the same name. (The existing table is hidden until the temporary table is dropped.) To create temporary tables, you must have the CREATE TEMPORARY TABLES privilege. 当前连接可用
有视图V包括其中的5000的数据,V与A的结构完全一样 在执行一个与业务表B的关联查询时,条件为B.id = A.id
如果使用A表,就会利用索引,每次扫描A表的行数只有1 如果使用V,就不会利用索引,每次扫描V的行数就是5000
贴出你的VIEW的代码和查询代码,及EXPLAIN SELECT及SHOE INDEX以供分析。