MySQL、视图、索引
单表有索引,单表查询用到索引
几个单表联合成视图
在视图上查找,explain表示不会用到索引。
这情况,有什么好解决方法没?
mysql5.1 community
对于使用MERGE算法处理的视图,可以使用索引。但是,对于使用临时表算法处理的视图,不能在其基表上利用索引提供的优点(尽管能够在临时表的生成过程中使用索引)。
我不是做临时表,我是为了程序的扩展性和敏捷性才做视图
难道不能做视图?强制我单表查?
学习!
刚强制merge做视图
结果一看属性依然是UNDEFINED
这个地方怎么玩?
你的查询语句是什么,理论上视图对索引的使用和select 语句是一样的啊。
SQL code:
在几张表上相同字段上建相同的索引
然后union
mysql> create view aavv as select userid from user union select userid from user;
Query OK, 0 rows affected (0.05 sec)
mysql> explain select userid from aavv;
+----+--------------+------------+-------+---------------+---------+---------+------+------+-
| id | select_type | table | type | possible_keys | key | key_len | ref | rows |
+----+--------------+------------+-------+---------------+---------+---------+------+------+-
| 1 | PRIMARY | <derived2> | ALL | NULL | NULL | NULL | NULL | 8 |
| 2 | DERIVED | user | index | NULL | PRIMARY | 2 | NULL | 8 |
| 3 | UNION | us
相关问答:
一个行业网站,要实现的功能要求为:
一搜索表单可选搜索 产品/资讯/商家,搜索时希望先搜标题后全文,当前的数据量估计3万多,定位期望在百万级也可用。
数据类型为innodb,当前的方法是对关键词进行 ......
假如数据库中有个test表,表中有id,Name,num,记录时间
id为自增长主键,name是名字,num表示其数量
1 nike 100 系统时间
2 nike 300 &n ......
需要在MySQL里面写个储存过程,
访问oracle的数据.
目前不能
oracle可以就可以连接mysql,通过odbc+dblink来连接
没有办法。目前的MYSQL的版本中尚不支持连接到其它数据库,
真挺有想法的 目前我没做过
......
数据结构大概是这样:
日期 部门 营业额
09-20 部门1 100
09-20 部门2 200
09-20 ......
一张表 : 姓名 地址 身份证 性别
......