工作中有时需要开启一个线程做大量的查询,来检测某个数据库值发送了变化,导致的开销很大,后来利用了ContentObserver完美的解决了该问题,这里做下总结。
(1)ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起的数据库的变化,继而做一些相应的处理,它类似于数据库中的触发器,当所察的Uri发生变化时,便会触发它。它的主要方法有: A,public final...
分类:
数据库 时间:
2015-08-05 18:33:53
阅读次数:
197
explain执行计划中type字段分为以下几种:
ALL INDEX RANGE REF EQ_REF CONST,SYSTEM NULL
从左至右,性能从最差到最好
type = ALL,全表扫描,MYSQL扫描全表来找到匹配的行
(因为film表中rating不是索引)
mysql> exp...
分类:
数据库 时间:
2015-08-05 18:27:02
阅读次数:
225
建立索引的几大原则
最左前缀匹配原则,mysql会一直向右匹配直到遇到范围查询(>、,比如a = 1 and
b = 2 and c > 3 and d = 4 ,如果建立(a,b,c,d)顺序的索引,d是用不到索引的,如果建立(a,b,d,c)的索引则都可以用到,a,b,d的顺序可以任意调整(参考原则2)。但是mysql查询优化器可能通过优化调整顺序从而使用索引,但是写sql语...
分类:
数据库 时间:
2015-08-05 18:25:12
阅读次数:
193
表空间是放置表的地方 user都可以放表进去 用户创建的表默认放在USERS表空间下
一个user可以有自己特有的的多张表
块的3种形式
匿名块Anonymous 变编译边执行不保存在数据库
有名块 保存在数据库
Procedure Function
匿名块编写
declare
v_fname VARCHAR2(20);
begin
select...
分类:
数据库 时间:
2015-08-05 18:23:09
阅读次数:
182
前言创建此触发器的主要目的是为了控制数据库的版本,虽然会将DDL语句保留但难免会出现遗漏,所以创建DDl触发器记录DDL操作,主要是用来核对数据库变更的SQL语句创建用户并授权...
分类:
数据库 时间:
2015-08-05 18:21:26
阅读次数:
182
ps:老本行,复习一下
SQL
查询语句总结
列名
Select Sname AS 姓名 from Student;
·这里AS可以省略。
去重:distinct
Select distinctSno from sc;
WHERE条件查询
比较
=/>/=/
...
分类:
数据库 时间:
2015-08-05 18:20:44
阅读次数:
219
The difference is that youshouldbe using the syntaxWITH (NOLOCK)(orWITH ()). Why?WithoutWITHis deprecated. FromTable Hints on MSDN:Omitting the WITH k...
分类:
数据库 时间:
2015-08-05 18:17:56
阅读次数:
423
原文:sql server 警报管理,实时监听数据库动向,运筹帷幄之中 工作这么多年了,无论是身边的同学还是同事,发现只要搞程序员的都有一个通病---懒。懒到谁都不愿意加班,尤其是"义务"加班。即使大家都不愿意加班,但是很多时候项目赶着上线或者上线之后出错啊什么的,总得有人看着,这时候就诞生了一种新...
分类:
数据库 时间:
2015-08-05 18:12:59
阅读次数:
144
1.问题 今天使用FMDB做一个例子程序,新建的一张表有一个datetime字段,数据库有默认值,大概如下CREATE TABLE [ConsumptionType] ([id] INTEGER PRIMARY KEY NOT NULL ,[name] TEXT,[level] TEXT,[...
分类:
数据库 时间:
2015-08-05 18:14:16
阅读次数:
524
IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。@@IDENTITY 返回为当前会话的所有作用域中的任何表最后生成的标识值。SCOPE_IDENTITY 返回为当前会话和当前作用域中的任何表最后生...
分类:
数据库 时间:
2015-08-05 18:11:16
阅读次数:
202
【解决方法】SQL> connect sys/hope as sysdba已连接。SQL> shutdown normalORA-01109: 数据库未打开已经卸载数据库。ORACLE 例程已经关闭。SQL> start mountSP2-0310: 无法打开文件 "mount.sql"SQL> s...
分类:
数据库 时间:
2015-08-05 18:06:22
阅读次数:
245
首先说说sql注入攻击的模式,基本上都是后台在接受前端传递的参数的时候将sql代码或脚本代码混入到提交信息中,如果在接受提交的参数的时候没有做精确的数据验证,很可能就让别人钻了空子;轻则暴库,重则数据库数据都会被删; 所以想要预防sql注入, 关键是程序员写的代码一定要严谨,对数据做严格的验证...
分类:
数据库 时间:
2015-08-05 18:00:42
阅读次数:
181
mysql> select * from t2;+----+---------------------+| id | d |+----+---------------------+| 1 | 2015-08-02 15:13:59 || 3 | 2015-08...
分类:
数据库 时间:
2015-08-05 17:58:06
阅读次数:
129
外键这个东西让多少程序员又爱又恨,虽然高效的保证了数据库的完整性,一度让我们觉得有了它,维护数据库是多么幸福的一件事情,我们不需要写那么多繁琐的代码来保证数据的完整性。可是随着我们的系统逐渐庞大,我们又发现它给我们带来了不少麻烦,复杂度、性能都受到了影响,于是我们就产生了到底该不该用外键的疑问。不管...
分类:
数据库 时间:
2015-08-05 17:56:05
阅读次数:
127
select GETDATE() as '当前日期',DateName(year,GetDate()) as '年',DateName(month,GetDate()) as '月',DateName(day,GetDate()) as '日',DateName(dw,GetDate()) as '...
分类:
数据库 时间:
2015-08-05 17:53:13
阅读次数:
131
出现类似的问题是由于权限问题,授权给root所有sql权限即可;mysql> grant all privileges on *.* to root@"%" identified by ".";Query OK, 0 rows affected (0.00 sec)mysql> flush priv...
分类:
数据库 时间:
2015-08-05 17:50:50
阅读次数:
178
grant all privileges on *.* to root@"%" identified by ".";flush privileges;
分类:
数据库 时间:
2015-08-05 17:49:55
阅读次数:
134