首页 \ 问答 \ 如何对Oracle进行优化

如何对Oracle进行优化

更新时间:2023-06-07 07:06

最满意答案

CPU对内存的操作有对并的概念: 
 如果操作1字节的数据,可以是任意地址,如果是操作2字节的数据,如果开始地址在偶数地址,一次就可以取2字节,如果开始地址在奇数,就要2次内存操作才能完成;如果操作4字节的数据,最好开始地址在能被4整除的数值上,这样可以用一条32位的内存操作指令完成。同样,8字节的开始位置最好的能被8整除的数值上,这样可以用一条64位的内存操作指令完成。 
 就是说,如果对齐了,一次就可以完成,不对齐,就可能多次才能完成。编译程序处理时也有对齐处理,一般的结构体和对象等估计都有对齐的处理(把结构体或对象的开始位置定在边界上),这样,只要你在结构体里对象之间能处理好对齐,你的数据就能操作得很快。 
 有时你定义了一个结构体,用了若干字节,但不是8或4的倍数,但你查内存时能发现它们占用的是8或4的倍数(多用了几个字节),就是这个原因。 
 
补充回答: 
 比如32位机,32根地址线,32根数据线,取数时,CPU的32根据地址线与内存的0-3号地址对齐,CPU的32位的数据线也同样,一个读取周期只能取这0-3地址的3个字节。如果你是取3-4地址的数据,CPU会自动把它分解成2次取数据操作,一次取8位的3单元和一次取8位4单元数据。 
 只有开始地址是0、4、8...的32位的数据操作才能一次操作完成,内存不支持从1号单元开始的4字节读,CPU和内存的数据线必须相应数据线对齐才行。 
 如果要没有这个限制,CPU和内存的制作成本就会高一些。况且,CPU和内存的控制总线标准是早就规定好了的,造CPU的生产出了有你这种功能的CPU,但内存不支持,必须某年某月国际上协商出了新的标准,你的这种想法才可能实现。

相关问答

更多
  • test前面 加的Test15是test变量的类型就像你定义int a=0一样。
  • CPU对内存的操作有对并的概念: 如果操作1字节的数据,可以是任意地址,如果是操作2字节的数据,如果开始地址在偶数地址,一次就可以取2字节,如果开始地址在奇数,就要2次内存操作才能完成;如果操作4字节的数据,最好开始地址在能被4整除的数值上,这样可以用一条32位的内存操作指令完成。同样,8字节的开始位置最好的能被8整除的数值上,这样可以用一条64位的内存操作指令完成。 就是说,如果对齐了,一次就可以完成,不对齐,就可能多次才能完成。编译程序处理时也有对齐处理,一般的结构体和对象等估计都有对齐的处理( ...
  • 网页链接 sum是一个函数, 对sum(x,y,z), 括号里的参数作求和的作用-->x+y+z
  • 类似于目录的形式: 比如你要在xx.com项目中的数据缓存, 可以这样用这样的key xx.com:db:table_data1 实际上理解为的目录结构:/keys/xx.com/db/table_data1 多层关系请用“:”隔开吧
  • 计算1到100内所有偶数的和: int sum=0,num=2; while(num<=100) { sum+=num; num+=2; }
  • #include void main() {int i,sum; i=1; sum=0; while(i<=100);//这个有一个空语句,造成 死循环。 { sum+=i; i++; } printf("%d\n",sum); }
  • 比如一个字段类型是date类型,那么查询出来的结果想要2009-09-09,就要 select to_char(字段名,'yyyy-mm-dd') from... 查系统时间 select to_char(sysdate,'yyyy-mm-dd') from dual
  • 一个函数里可以有多个return语句(比如有条件语句时),但只能返回一个值给函数. 用指针的话也只是返回一个函数而已,不能返回多个,只是在函数里利用指针地址将地址相对应的数值修改而已,并不是返回值. 所以不管什么函数,如果有返回值的话,只能返回一个值.
  • SUMIF(range,criteria,sum_range): Range 为用于条件判断的单元格区域。 Criteria 为确定哪些单元格将被相加求和的条件,其形式可以为数字、表达式或文本。例如,条件可以表示为 32、"32"、">32"、"apples"。 Sum_range 为需要求和的实际单元格。只有当 Range 中的相应单元格满足条件时,才对 sum_range 中的单元格求和。如果省略 sum_range。则直接对 Range 中的单元格求和。 举个例子: 假设 A1:A4 的内容 ...
  • 用途举例: '当A列出现"A”时,那么对应B列的值全部合并在单元格C1内 Sub 小晕() Sheets("Sheet1").Range("C1").Select Selection.ClearContents Dim i As Long For i = 1 To 10 '这个值的范围可根据实际情况写 If Worksheets(1).Cells(i, 1).Value = "A" Then [C1] = [C1] & Cells(i, 2).Value End If Next i End Sub 作为一个 ...

相关文章

更多

最新问答

更多
  • 您如何使用git diff文件,并将其应用于同一存储库的副本的本地分支?(How do you take a git diff file, and apply it to a local branch that is a copy of the same repository?)
  • 将长浮点值剪切为2个小数点并复制到字符数组(Cut Long Float Value to 2 decimal points and copy to Character Array)
  • OctoberCMS侧边栏不呈现(OctoberCMS Sidebar not rendering)
  • 页面加载后对象是否有资格进行垃圾回收?(Are objects eligible for garbage collection after the page loads?)
  • codeigniter中的语言不能按预期工作(language in codeigniter doesn' t work as expected)
  • 在计算机拍照在哪里进入
  • 使用cin.get()从c ++中的输入流中丢弃不需要的字符(Using cin.get() to discard unwanted characters from the input stream in c++)
  • No for循环将在for循环中运行。(No for loop will run inside for loop. Testing for primes)
  • 单页应用程序:页面重新加载(Single Page Application: page reload)
  • 在循环中选择具有相似模式的列名称(Selecting Column Name With Similar Pattern in a Loop)
  • System.StackOverflow错误(System.StackOverflow error)
  • KnockoutJS未在嵌套模板上应用beforeRemove和afterAdd(KnockoutJS not applying beforeRemove and afterAdd on nested templates)
  • 散列包括方法和/或嵌套属性(Hash include methods and/or nested attributes)
  • android - 如何避免使用Samsung RFS文件系统延迟/冻结?(android - how to avoid lag/freezes with Samsung RFS filesystem?)
  • TensorFlow:基于索引列表创建新张量(TensorFlow: Create a new tensor based on list of indices)
  • 企业安全培训的各项内容
  • 错误:RPC失败;(error: RPC failed; curl transfer closed with outstanding read data remaining)
  • C#类名中允许哪些字符?(What characters are allowed in C# class name?)
  • NumPy:将int64值存储在np.array中并使用dtype float64并将其转换回整数是否安全?(NumPy: Is it safe to store an int64 value in an np.array with dtype float64 and later convert it back to integer?)
  • 注销后如何隐藏导航portlet?(How to hide navigation portlet after logout?)
  • 将多个行和可变行移动到列(moving multiple and variable rows to columns)
  • 提交表单时忽略基础href,而不使用Javascript(ignore base href when submitting form, without using Javascript)
  • 对setOnInfoWindowClickListener的意图(Intent on setOnInfoWindowClickListener)
  • Angular $资源不会改变方法(Angular $resource doesn't change method)
  • 在Angular 5中不是一个函数(is not a function in Angular 5)
  • 如何配置Composite C1以将.m和桌面作为同一站点提供服务(How to configure Composite C1 to serve .m and desktop as the same site)
  • 不适用:悬停在悬停时:在元素之前[复制](Don't apply :hover when hovering on :before element [duplicate])
  • 常见的python rpc和cli接口(Common python rpc and cli interface)
  • Mysql DB单个字段匹配多个其他字段(Mysql DB single field matching to multiple other fields)
  • 产品页面上的Magento Up出售对齐问题(Magento Up sell alignment issue on the products page)