数据库索引的建立

主索引数据在磁盘上是按块进行存储的。所以当一张表存储在磁盘上时会被分成好多个存储块。 主索引通常是对每一存储块有一个索引项,索引项的总数和存储表所占的存储数目相同,存储表的每一个存储块的第一条记录,又称锚记录,或称块锚。使用主索引有以下特点:主文件中的记录有序,比如按主键大小排序(下图中的C#)。索引项中的指针指向每个块在磁盘中起始位置索引项有序,按索引字段值排列主索引是稀疏索引辅助索引辅助索引是
阅读本文

数据库SQL语句的操作

SQLServer数据库的基础知识的回顾:  1)主数据文件:*.mdf      2)次要数据文件:*.ndf  3)日志文件:*.ldf  每个数据库至少要包含两个文件:一个数据文件和一个日志文件 如何查看SQL Server的帮助==================快捷键F1 一、创建文件夹 exec sp_configure ‘show advanced options‘,1gorecon
阅读本文

Php连接及读取和写入mysql数据库的常用代码

在这里我总结了常用的PHP连接MySQL数据库以及读取写入数据库的方法,希望能够帮到你,当然也是作为我自己的一个回顾总结。1.为了更好地设置数据连接,一般会将数据连接所涉及的值定义成变量. ?   $mysql_server_name=‘localhost‘; //改成自己的mysql数据库服务器   $mysql_username=‘root‘; //改成自己的mysql数据库用户名
阅读本文

17、oracle数据库字符集

字符集oracle数据库什么时候用字符集数据库字符集的种类字符集的超集。字符集的转换过程访问数据插入数据出错的情况。建库视频客户端字符集客户端的NLS_LANG设置windows修改注册表来修改字符集给客户端设置错误的nls_lang数据库字符集查询数据库实例和会话级别的nls参数数据库的导入和导出。数据库导入导出理论基础导出数据库表的导入导入导出dump字符集字符集是字符的集合。在硬盘上只能存
阅读本文

0.4 部署一个blog程序服务

登录MySQL[root@web01 blog]# mysql -uroot -poldboy123mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | perf
阅读本文

MySQL日志系统

MySQL 日志系统做过大型系统的都知道,日志的作用不用小觑,往往到了项目中后期,对项目进行优化升级都是依据日志做出升级优化的决策的。那么学习MySQL,日志部分当然不能错过。我们面试中实际应用的所谈到的优化都是要从日志中得出来的。系统的学习mysql的日志,有助于我们准确的定位问题,提高自己的工作水平。此外,后面的一系列日志会重点从DBA的运维方面进行着手,系统的去理解MySQL各方面的配置,做
阅读本文

navicat 连接oracle数据库

打开 navicat  -->工具-->选项-->oci   右侧选择oci.dll 的路径默认 在 navicat的安装目录下有一个 instantclient 的文件夹 直接选择这个里面的 oci.ll 就可以了我的 navicat 是 11.1.10 64-bit   instantclient 是 instantclient_10_2 但是  选择了 navicat 安装目录里的  ins
阅读本文

django models实际操作中遇到的一些问题

问题1.将主键id改成自动生成的python3 manage.py migrate时报下面的错误django.db.utils.InternalError: (1091, “Can‘t DROP ‘id‘; check that column/key exists“) 我猜测是因为我改了两个表的主键,其中A表主键是B表的外键,删除会有问题 解决方法:1.删除app下migrations文件夹中00
阅读本文

乐观锁与悲观锁——解决并发问题

引言为什么需要锁(并发控制)?  在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有: 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6,用户B把值改
阅读本文

PgSQL · 源码分析· pg_dump分析

概括地说,逻辑导出要干的事情就是连接对应数据库,读出各个数据库对象的定义和数据,此外还包括comment、服务器配置和权限控制等等,这些数据库对象定义的SQL语句会被写入到对应的dump文件中。其中可以设置只导出模式或者只导出数据,默认是导出模式和数据,这样就可以支持分步导出和恢复。而数据表数据可以选择COPY方式或者INSERT语句的方式写入备份文件中。这个过程主要涉及几个文件,包括pg_dum
阅读本文

作业_3 进程和物理结构

作业3 进程和物理结构作业1.2 进程和物理结构2017年2月17日 星期五 下午 1:42:10 41、描述5大后台进程作用1、server process:前台进程 1、处理用户请求 1、接收用户发送的SQL 2、解析SQL,生成执行计划 3、执行SQL 4、内存读、物理读 5、锁等待 2、server process速度的快慢直接决定了用户体验 2、pmon 1、这个进程主外
阅读本文

MySQL学习笔记

1. 建立数据库服务器MySQL –h localhost –u root –pset names gbk;2. 在mysql中使用tee把执行过程记录下来tee 文件名(Eg:d:\tee test.sql)3. 分节符delimiter $4. 建立一个数据库create database DBname[字符集声明,整理声明];create database dbstudy charset
阅读本文

解决openfire在使用MySQL数据库后的中文乱码问题

openfire是一个非常不错的IM服务器,而且是纯Java实现,具有多个平台的版本,他的数据存储可以采用多种数据库,如MySQL,Oracle等。在实际使用时大家遇到最多的就是采用MySQL数据库后的中文乱码问题,这个问题十分有趣,而且从现象上可以看出openfire内部的一些机制。实际问题是这样的:首先启动openfire服务器,然后利用客户端或直接登录到后台新建一个帐户,为该帐户指定一些中文
阅读本文

PDO-数据库访问抽象层

C语言编写,PHP编译。php5面向对象。在php.ini任意位置配置这句话,t2是自定义名,建议和要打开的数据库一样。建议用参数形式连接数据库。$dsn是数据源,包含主机名和数据库名。最简单的pdo连接数据库。使用lastInsertId();得到新插入记录的id号。lastInsertId()这是针对插入操作,对更新等其他操作返回0.UPDATE user SET username=“king
阅读本文

oracle导入expdp、导出impdp数据库用户

仅限装有oracle服务的机器上执行;把172.16.251.136:1521/orcl的AMI4_2用户导入到192.168.2.30:1521/orclss中的AMI1用户; 导出:创建对应的文件夹用于放dmp文件(或者借用别的文件夹用一下,直接赋予用户文件夹权限即可);-- 执行该命令之前,要首先创D:xinsushedmp对应的文件夹create directory DUMP_DIR_
阅读本文

一个简单的java jdbc案例

有些时候,配置一个spring+mybatis框架,然后写xml,dao ,service显得特别繁琐。如果我们只是想查一下数据库,不考虑连接复用也不考虑动态sql,可以用原生的jdbc来实现,方便快捷,也有利于认识原生jdbc。 我们需要的东西其实不多:一个数据库连接的配置文件(甚至这个也可以不需要),db.propertiesdriver=oracle.jdbc.driver.OracleDr
阅读本文

shell脚本自动备份数据库

shell脚本自动备份数据库1.编写备份脚本vi backup.sh #!/bin/bashdate=`date +%Y%m%d_%k%M`  mysqldump -uroot -p12345 -h127.0.0.1 db | gzip > /home/ubuntu/root/db_$date.sql.gz 2.修改脚本可执行权限#chmod +x backup.sh 3.加入crontab #c
阅读本文

jpa的一些重要方法

1.persist(Object entity)方法   这个方法把一个实体加入持久化上下文中,也就是缓存中,在事务提交或者调用flush()方法的时候,把这个实体保存到数据库中(执行insert语句),如果实体已存在,则抛出EntityExistsException异常,缓存则不存在了。 2.find(Class entityClass,Object primaryObject)   根据主键从
阅读本文