首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    php开发工程师面试题知识点总结(三)--中级篇

    explain,分析单个SQL语句查询 优化查询过程中的数据访问 访问数据太多导致性能下降 确定应用程序是否检索大量超过需要的数据,可能是太多列或者行 确定mysql是否分析大量不必要的数据行 查询不需要的记录...SQL这几日 写入数据库的数据要进行特殊字符转移 查询错误信息不要返回给用户,将错误记录到日志 安全设置 定期做数据备份 不给查询用户root权限,合理分配权限 关闭远程访问数据库权限 修改root口令...没有用到缓存,相对最慢 header设置HTTP缓存机制 pragma:HTTP1.0时代的遗留产物,该字段被设置为no-cache时,会告知浏览器禁用本地缓存,即每次都向服务器发送请求 Expires...)的访问速度 跨运营商的网络加速,保证不同网络的用户都能得到良好的访问质量 远程访问用户根据DNS负载均衡技术只能选择cache服务器 自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从...能够专门对图片服务器进行优化,为图片服务器设置针对性的缓存方案,减少带宽成本,提高访问速度 提高网站的可扩展性,通过增加图片服务器,提高图片吞吐能力 采用独立域名 原因: 同一域名下浏览器的并发连接数有限制

    56720

    php开发工程师面试题知识点总结(三)–中级篇

    explain,分析单个SQL语句查询 优化查询过程中的数据访问 访问数据太多导致性能下降 确定应用程序是否检索大量超过需要的数据,可能是太多列或者行 确定mysql是否分析大量不必要的数据行...使用尽可能少的查询是好的,但是有时将一个大的查询分解为多个小的查询是很有必要的 分解关联查询,将一个关联查询分解为多个sql来执行,让缓存效率更高,执行单个查询可以减少锁的竞争,在应用层做关联可以更容易对数据库进行拆分...作为从库 MySQL安全 安全操作 使用预处理语句防SQL这几日 写入数据库的数据要进行特殊字符转移 查询错误信息不要返回给用户,将错误记录到日志 安全设置 定期做数据备份...没有用到缓存,相对最慢 header设置HTTP缓存机制 pragma:HTTP1.0时代的遗留产物,该字段被设置为no-cache时,会告知浏览器禁用本地缓存,即每次都向服务器发送请求 Expires...独立图片服务器 必要性 分担web服务器的I/O负载,将耗费资源的图片服务器分离出来,提高服务器的性能和稳定性 能够专门对图片服务器进行优化,为图片服务器设置针对性的缓存方案,减少带宽成本,提高访问速度

    57620

    使用elasticsearch遇到的一些问题以及解决方法

    2.out of memory错误 因为默认情况下es对字段数据缓存(Field Data Cache)大小是无限制的,查询时会把字段值放到内存,特别是facet查询,对内存要求非常高,它会把结果都放在内存...4.集群状态为黄色时并发插入数据报错 这是错误信息,当时集群状态为黄色,即副本没有分配。...当时副本设置为2,只有一个节点,当你设置的副本大于可分配的机器时,此时如果你插入数据就有可能报上面的错,因为es的写一致性默认是使用quorum,即quorum值必须大于(副本数/2+1),我这里2/2...解决方法:设置为无限制,linux命令:ulimit -l unlimited 6.错误使用api导致集群卡死 其实这个是很低级的错误。...但问题是BoolQuery最多只支持1024个条件,100个条件都已经很多了,所以这样的查询一下子就把es集群卡死了。 解决方法:用bulkRequest进行批量删除操作。

    2.8K40

    选择一个数据仓库平台的标准

    许多公司错误地认为DWaaS(数据仓库即服务)在列表中应该较低,因为速度限制是由云访问造成的网络延迟造成的。这导致许多人错误地进行本地部署。...事实上,从安全性到可扩展性以及更改节点类型的灵活性等许多问题在内部部署解决方案本质上并不理想。 对于大多数(尤其是中型用户)来说,利用领先的云数据仓库提供商可以实现卓越的性能和可用性。...他们发现Redshift是客户典型数据量实时查询速度的最佳选择。 可扩展性 对于大规模增长的公司而言,云中的基础架构可扩展性应该从成本,资源和简单性方面进行衡量。...这导致不可预测的费用增加了用户对所涉及成本的不确定性,导致他们试图限制查询和数据量,所有这些都会对组织的数据分析能力产生负面影响。...正确的摄取方法和错误的方法之间的差异可能是数据丢失和丰富数据之间的差异,以及组织良好的模式和数据沼泽之间的差异。 例如,Snowflake通过不同的虚拟仓库支持同时用户的查询。

    2.9K40

    面试|不可不知的十大Hive调优技巧最佳实践

    值得注意的是,分区字段的选择是影响查询性能的重要因素,尽量避免层级较深的分区,这样会造成太多的子文件夹。 现在问题来了,该使用哪些列进行分区呢?...当使用分桶表时,最好将bucketmapjoin标志设置为true,具体配置参数为: SET hive.optimize.bucketmapjoin = true CREATE TABLE table_name...标准查询执行系统一次处理一行,在处理下一行之前,单行数据会被查询中的所有运算符进行处理,导致CPU使用效率非常低。在向量化查询执行中,数据行被批处理在一起(默认=> 1024行),表示为一组列向量。...通过将hive.optimize.ppd设置为true可以启用谓词下推。...因此,我们将下面的属性定义为strict,以指示在分区表上未提供分区谓词的情况下编译器将引发错误。

    1.4K20

    58到家MySQL军规升级版

    库备份必须以bak为前缀,以日期为后缀 从库必须以-s为后缀 备库必须以-ss为后缀 三、表设计规范 单实例表个数必须控制在2000个以内 单表分表个数必须控制在1024个以内 表必须有主键,推荐使用UNSIGNED...(2)生成执行计划时,如果索引太多,会降低性能,并可能导致MySQL选择不到最优索引 (3)异常复杂的查询需求,可以选择ES等更为适合的方式存储 组合索引字段数不建议超过5个 解读:如果5个字段还不能极大缩小...row范围,八成是设计有问题 不建议在频繁更新的字段上建立索引 非必要不要进行JOIN查询,如果要进行JOIN查询,被JOIN的字段必须类型相同,并建立索引 解读:踩过因为JOIN字段类型不一致,而导致全表扫描的坑么...,能保证对应用程序无影响 隐式类型转换会使索引失效,导致全表扫描 禁止在where条件列使用函数或者表达式 解读:导致不能命中索引,全表扫描 禁止负向查询以及%开头的模糊查询 解读:导致不能命中索引,全表扫描...禁止大表JOIN和子查询 同一个字段上的OR必须改写问IN,IN的值必须少于50个 应用程序必须捕获SQL异常 解读:方便定位线上问题 说明:本军规适用于并发量大,数据量大的典型互联网业务,可直接带走参考

    1.3K150

    Mysql优化-索引

    按照主键B+树的排列方式存放,子节点存放的就是数据。 如果没有主键,以第一列为聚集索引. 只有一个聚集索引。 普通索引指向聚集索引。 非聚集索引: 属于MyIsam。...独立索引生效规则 一条sql语句只能使用一个索引是错误的。 生效的索引跟建立索引的顺序以及查询的顺序均无关,和字段的选择性有关,较高选择性的字段对应的索引优先生效。...有连接查询时,外层的查询为simple,且只有一个B:primary:一个需要union操作或者含有子查询的select,位于最外层的单位查询的select_type即为primary。...,所以id字段为nullF:subquery:除了from字句中包含的子查询外,其他地方出现的子查询都可能是subqueryG:dependent subquery:与dependent union类似...unique_subquery 用于where中的in形式子查询,子查询返回不重复值唯一值 index_subquery 用于in形式子查询使用到了辅助索引或者in常数列表,子查询可能返回重复值,可以使用索引将子查询去重

    1.3K50

    记录:maxClauseCount is set to 1024

    背景:boo查询中过多的拼接bool导致报 too_many_clauses: maxClauseCount is set to 1024 "root_cause": [ {...1024个值或子查询,当超过1024时,会抛出异常。...实际原因:diseasename字段使用的分词器使用了同义词,导致“狼疮性肾炎”,被识别成了“狼疮肾炎,狼疮性肾炎,系统性红斑狼疮性肾炎”,再经过分词器分词之后,会出现很多个term,导致查询bool超过限制...解决办法: 方案一:当超过1024时可以将一个bool查询拆成两个子bool查询,使用must关键字,使得两个子bool查询是与的关系 方案二:编辑elasticsearch.yml,添加如下配置...方案三:由于索引分词使用了同义词,可以将查询分词和索引分词分开,单独设置查询分词 { "from": 0, "size": 10, "query": { "bool": {

    3.8K01

    SQL on Hadoop在快手大数据平台的实践与优化

    此外,HiveServer2提供远程客户端提交SQL任务的功能,MetaStoreServer则提供远程客户端操作元数据的功能。 ?...AdHoc集群主要用于交互分析及机器查询,DQL平均耗时时间为300s;AdHoc在内部有Loacl任务及加速引擎应用,所以查询要求耗时较低。 ETL集群主要用于ETL处理以及报表的生成。...当前支持的模块包括路由、审计、SQL重写、任务控制、错误分析、优化建议等。 无状态,BeaconServer服务支持水平扩展。基于请求量的大小,可弹性调整服务的规模。...1)子Task非执行状态为完成情况的时候,若有多轮父Task包含子Task,导致子Task被重复加入调度队列。这种Case,需要将非执行状态修改成初始化状态。...2)当判断子Task是否可执行的过程中,会因为状态检测异常,无法正常加入需要调度的子Task,从而致使查询丢失Stage。

    1.8K30

    mysql标准规范

    库备份必须以bak为前缀,以日期为后缀 从库必须以-s为后缀 备库必须以-ss为后缀 三、表设计规范 单实例表个数必须控制在2000个以内 单表分表个数必须控制在1024个以内...(2)生成执行计划时,如果索引太多,会降低性能,并可能导致MySQL选择不到最优索引 (3)异常复杂的查询需求,可以选择ES等更为适合的方式存储 组合索引字段数不建议超过5个 解读:如果5个字段还不能极大缩小...,而导致全表扫描的坑么?...在表结构变更时,能保证对应用程序无影响 隐式类型转换会使索引失效,导致全表扫描 禁止在where条件列使用函数或者表达式 解读:导致不能命中索引,全表扫描 禁止负向查询以及%开头的模糊查询...解读:导致不能命中索引,全表扫描 禁止大表JOIN和子查询 同一个字段上的OR必须改写问IN,IN的值必须少于50个 应用程序必须捕获SQL异常 解读:方便定位线上问题

    36820

    SQL优化:一篇文章说清楚Oracle Hint的正确使用姿势

    PUSH_SUBQ 使用该提示引导优化器为不能合并的子查询制定执行计划。不能合并的子查询被优先执行之后,该子查询的执行结果将扮演缩减主查询数据查询范围的提供者角色。...但如果子查询执行的是远程表或者排序合并连接的一部分连接结果,则该提示将不起任何作用。 NO_PUSH_SUBQ 使用该提示将引导优化器将不能实现合并的子查询放在最后执行。...在某个会话中所设置的并行级别也可以被引用在内部的GROUP BY或者排序操作中。在并行操作中如果出现了某个限制要素,则该提示将被忽略。...指定表是处理连接所在的位置。可以限制通过网络处理的信息量。此外,还可以建立远程表的本地视图来限制从远程站点检索的行。...该例子中因为ID字段可能为空,而索引是保存空值的,因此count(*)使用索引将导致错误的结果,故而使用了全表扫描,忽略了Hint。

    8.5K340

    【数据库】MySQL查询优化

    对于MySQL,最简单的衡量查询开销的三个指标如下: •响应时间•扫描的行数•返回的行数 没有哪个指标能够完美地衡量查询的开销,但它们大致反映了MySQL在内部执行查询时需要访问多少数据,并可以大概推算出查询运行的时间...查询慢的原因基本都是:我们的不合理操作导致查询的多余数据太多了。常见原因有以下: 1.查询不需要的记录。...,一般会认为MySQL会先执行子查询返回所有包含author_id 为1的book_id。...最后往往是要自己在实际场景多用explain分析是否有更好的sql解决方案。 索引会失效的场景 1.隐式转换导致索引失效. 这一点应当引起重视.也是开发中经常会犯的错误....由于表的字段tu_mdn定义为varchar2(20),但在查询时把该字段作为number类型以where条件传给Oracle,这样会导致索引失效.

    13.4K10

    【DB笔试面试528】在Oracle中,如何解决ORA-04030和ORA-04031错误?

    以下查询用于查找分配给所有会话的PGA区的内存总量: SELECT SUM(VALUE) / 1024 / 1024 PGA_SIZE_MB FROM V$SESSTAT S, V$STATNAME...每个子池是一个小号的共享池,有它自己的空闲列表,内存结构条目和LRU列表。这是一个对共享池和大池的可扩展性的改变,现在每一个子池都由一个Child Latch来保护,因此可以增加这些池的吞吐量。...的值为1.26G(4.2*0.6*0.5),可以分配2个子池,每个子池为630MB。...由于没有设置隐含参数“_KGHDSIDX_COUNT”,所以,该系统的子池个数为MIN(4,2)=2。...综上所述,导致ORA-04031错误的原因有如下几点: (1)配置问题,表现为某些池配置过小或配置错误。解决办法为增大相应的池(例如,Shared Pool)大小及使用AMM方式来管理内存。

    2.1K31

    PostgreSQL 13.0-13.15 功能更新和bug fixed列表

    不可返回列将读取为NULL,导致错误的查询结果。...VALUES规则中的整行变量的显示问题,整行变量将被打印为“var.*”,但这样做允许在重新加载规则时将其扩展为单独的列,导致不同的语义。...PG13.10 在子查询提取中添加递归和循环防御,一种刻意构造的查询可能导致深度递归和大量时间被用来尝试展开子查询。...受影响的查询可能会产生错误的结果,或出现诸如“在子计划目标列表中找不到变量”或执行器崩溃等奇怪的错误。...PG13.14 修复在 PlaceHolderVars 中错误包装子查询输出表达式的问题,此修复解决了在子查询位于外连接下方且其输出列横向引用了外连接范围外的内容时产生错误结果的问题。

    14410

    Grafana Loki 架构

    当 Loki 不在多租户模式下时,将忽略 Header 头,并将租户 ID 设置为 fake,这将显示在索引和存储的块中。 运行模式 ?...当 target 未设置为 all(即被设置为 querier、ingester、query-frontend 或 distributor),则可以说 Loki 在水平伸缩或微服务模式下运行。...当查询前端就位时,应将传入的查询请求定向到查询前端,而不是 querier, 为了执行实际的查询,群集中仍需要 querier 服务。 查询前端在内部执行一些查询调整,并在内部队列中保存查询。...队列 查询前端的排队机制用于: 确保可能导致 querier 出现内存不足(OOM)错误的查询在失败时被重试。这允许管理员可以为查询提供不足的内存,或者并行运行更多的小型查询,这有助于降低总成本。...如果缓存的结果不完整,查询前端会计算所需的子查询,并在下游 querier 上并行执行这些子查询。查询前端可以选择将查询与其 step 参数对齐,以提高查询结果的可缓存性。

    3.4K51

    CA数字认证系统为何要用NTP时钟服务器?

    为避免产生本机错误,可从网络上获取时间,这个命令就是rdate,这样系统时钟便可与公共源同步了。但是一旦这一公共时间源出现差错就将产生多米诺效应,与其同步的所有机器的时间因此全都错误。...系统设置管理CA、多级CA,可分布式部署,能够满足不同应用场景的证书管理需求。...多级CA管理子CA创建创建多级CA,指定上一级CA后可以签发子CA。子CA编辑超级管理员可以编辑CA的发布配置。子CA停用超级管理员可以停用指定的子CA。...密码设备密钥备份恢复密码设备密钥备份采用门限备份,恢复时需要满足门限规定的管理员同时登录密码设备。应用扩展OCSP证书状态查询基于标准的OCSP协议提供证书状态在线查询,能够实时检验证书是否有效。...审批流定制证书申请录入支持用户远程录入、操作员本地录入申请人信息的定制服务。证书审核支持操作员权限定制,批量审核、权限下放等定制服务。证书下载提供远程证书下载、本地操作员下载等定制服务。

    3.6K50
    领券