exists

Passing unset variables to functions

本小妞迷上赌 提交于 2019-12-04 10:13:50
My code: function Check($Variable, $DefaultValue) { if(isset($Variable) && $Variable != "" && $Variable != NULL) { return $Variable; } else { return $DefaultValue; } } $a = Check(@$foo, false); $b = Check(@$bar, "Hello"); //$a now equals false because $foo was not set. //$b now equals "Hello" because $bar was not set. When a variable doesn't exist and is passed to the function (suppressing the error) what is actually passed? Is there any undefined behaviour that this function could exhibit? Is there a better way of wrapping the testing for variable existence and supplying a default value from

数据库查询SQL语句的时候如何写会效率更高?

别来无恙 提交于 2019-12-04 08:30:20
1、sql语句模型结构优化指导 A. ORDER BY + LIMIT组合的索引优化 SELECT [column1],[column2],…. FROM [TABLE] ORDER BY [sort] LIMIT [offset],[LIMIT]; sort上简索引 B. WHERE + ORDER BY + LIMIT组合的索引优化 SELECT [column1],[column2],…. FROM [TABLE] WHERE [columnX] = [VALUE] ORDER BY [sort] LIMIT [offset],[LIMIT]; 建立一个联合索引(columnX,sort) C. WHERE+ORDER BY多个栏位+LIMIT SELECT * FROM [table] WHERE uid=1 ORDER BY x,y LIMIT 0,10; 建立复合索引(uid,x,y) 2、复合索引(形如(x,y,uid)索引的索引) select* from users where area =’beijing’ and age=22; 建立索引(area,age,salary),其相当于创建了(area,age,salary),(area,age),(area)三个索引,这样称为最佳左前缀特性。 3、like语句优化 SELECT id FROM A WHERE

linq to sql any和all的区别

╄→гoц情女王★ 提交于 2019-12-04 07:09:16
Any 说明:用于判断集合中是否有元素满足某一条件;不延迟。(若条件为空,则集合只要不为空就返回True,否则为False)。 1.简单形式: 仅返回没有订单的客户: var q = from c in db.Customers where !c.Orders.Any() select c; 生成 SQL语句 为: SELECT [t0].[CustomerID], [t0].[CompanyName], [t0].[ContactName], [t0].[ContactTitle], [t0].[Address], [t0].[City], [t0].[Region], [t0].[PostalCode], [t0].[Country], [t0].[Phone], [t0].[Fax] FROM [dbo].[Customers] AS [t0] WHERE NOT (EXISTS( SELECT NULL AS [EMPTY] FROM [dbo].[Orders] AS [t1] WHERE [t1].[CustomerID] = [t0].[CustomerID] )) All 说明:用于判断集合中所有元素是否都满足某一条件;不延迟 var q = from c in db.Customers where c.Orders.All(o => o.ShipCity == c

paramiko-tools

匆匆过客 提交于 2019-12-04 06:22:04
own develop import paramiko import os import logging import json import unittest from stat import S_ISDIR, S_ISREG __author__ = 'Chen Quan' logging.basicConfig(level=logging.ERROR, format='%(asctime)s - %(levelname)s -->%(funcName)s at line %(lineno)d: \n %(message)s') log = logging.getLogger() class Paramiko_Sftp(object): def __init__(self, ip, port, user, pwd): self.port = port self.pwd = pwd self.user = user self.ip = ip self.sftp =self.sftp_client() self.ssh = self.ssh_client() def ssh_client(self): client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

MongoDB 谨防索引seek的效率问题(转)

梦想与她 提交于 2019-12-04 05:02:32
目录 背景 初步分析 索引seeks的原因 优化思路 小结 声明:本文同步发表于 MongoDB 中文社区,传送门: http://www.mongoing.com/archives/27310 背景 最近线上的一个工单分析服务一直不大稳定,监控平台时不时发出数据库操作超时的告警。 运维兄弟沟通后,发现在每天凌晨1点都会出现若干次的业务操作失败,而数据库监控上并没有发现明显的异常。 在该分析服务的日志中发现了某个数据库操作产生了 SocketTimeoutException 。 开发同学一开始希望通过 调整 MongoDB Java Driver 的超时参数 来规避这个问题。 但经过详细分析之后,这样是无法根治问题的,而且超时配置应该如何调整也难以评估。 下面是关于对这个问题的分析、调优的过程。 初步分析 从出错的信息上看,是数据库的操作响应超时了,此时客户端配置的 SocketReadTimeout 为 60s。 那么,是什么操作会导致数据库 60s 还没能返回呢? 业务操作 左边的数据库是一个工单数据表(t_work_order),其中记录了每张工单的信息,包括工单编号(oid)、最后修改时间(lastModifiedTime) 分析服务是Java实现的一个应用程序,在每天凌晨1:00 会拉取出前一天修改的工单信息(要求按工单号排序)进行处理。 由于工单表非常大(千万级)

MongoDB 谨防索引seek的效率问题

我只是一个虾纸丫 提交于 2019-12-04 04:47:59
目录 背景 初步分析 索引seeks的原因 优化思路 小结 声明:本文同步发表于 MongoDB 中文社区,传送门: http://www.mongoing.com/archives/27310 背景 最近线上的一个工单分析服务一直不大稳定,监控平台时不时发出数据库操作超时的告警。 运维兄弟沟通后,发现在每天凌晨1点都会出现若干次的业务操作失败,而数据库监控上并没有发现明显的异常。 在该分析服务的日志中发现了某个数据库操作产生了 SocketTimeoutException 。 开发同学一开始希望通过 调整 MongoDB Java Driver 的超时参数 来规避这个问题。 但经过详细分析之后,这样是无法根治问题的,而且超时配置应该如何调整也难以评估。 下面是关于对这个问题的分析、调优的过程。 初步分析 从出错的信息上看,是数据库的操作响应超时了,此时客户端配置的 SocketReadTimeout 为 60s。 那么,是什么操作会导致数据库 60s 还没能返回呢? 业务操作 左边的数据库是一个工单数据表(t_work_order),其中记录了每张工单的信息,包括工单编号(oid)、最后修改时间(lastModifiedTime) 分析服务是Java实现的一个应用程序,在每天凌晨1:00 会拉取出前一天修改的工单信息(要求按工单号排序)进行处理。 由于工单表非常大(千万级)

Sql Server 2005 - Insert if not exists

两盒软妹~` 提交于 2019-12-04 03:10:53
问题 There is lots of information in the internet regarding this common "problem". Solutions like: IF NOT EXISTS() BEGIN INSERT INTO (...) END are not thread-safe in my opinion and you will probably agree. However could you confirm that putting the exist into the where clause of one single select would solve the problem of the highest concurrency in sql engine? Is it enough? insert into Table (columns) select column1, column2, column3 where not exists (select top 1 1 from Table where something)

Oracle数据库的sql语句性能优化

纵饮孤独 提交于 2019-12-04 02:23:45
  在应用系统开发初期,由于开发数据库数据比较少,对于查询sql语句,复杂试图的编写等体会不出sql语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要问题之一。系统优化中一个很重要的方面就是sql语句的优化。对于海量数据,劣质sql语句和优质sql语句之间的速度差别可以达到上百倍,可见对于一个系统不是简单地能实现其功能就行,而是要写出高质量的sql语句,提高系统的可用性。   Oracle的sql调优第一个复杂的主题,甚至需要长篇概论来介绍OracleSQL调优的细微差别。不过有一些基本的规则是每个OracleDBA都需要遵从的,这些规则可以改善他们系统的性能。   sql调优的目标是简单的:消除不必要的大表全表搜索。不必要的全表搜索导致大量不必要的磁盘I/O,从而拖慢整个数据库的性能,对于不必要的全表搜索来说,最常见的调优方法是增加索引,可以在表中加入标准的B树索引,也可以加入位图索引和基于函数的索引。要决定是否消除一个全表搜索,你可以仔细检查索引搜索的I/O开销和全表搜索的开销,它们的开销和数据块的读取和可能的并行执行有关,并将两者作对比。   另外,在全表搜索是一个最快的访问方法时,将小表的全表搜索放到缓存(内存)中,也是一个非常明智的选择。我们会发现现在诞生了很多基于内存的数据库管理系统

Check if a template exists within a Django template

青春壹個敷衍的年華 提交于 2019-12-04 02:13:13
Is there an out-of-the-box way of checking if a template exists before including it in a Django template? Alternatives are welcome too but some of them would not work due to the particular circumstances. For example, here's an answer to a slightly different question. This is not what I'm looking for: How to check if a template exists in Django? Assuming include doesn't blow up if you pass it a bad template reference, that's probably the best way to go. Your other alternative would be to create a template tag that essentially does the checks in the link you mentioned. Very basic implementation:

How to fix “Only one expression can be specified in the select list when the subquery is not introduced with EXISTS” error?

邮差的信 提交于 2019-12-04 01:30:42
I'm trying to run the following query on MS SQL 2012 Express: Select ( Select Id, Salt, Password, BannedEndDate from Users where username = '" + LoginModel.Username + "' ), ( Select Count(*) From LoginFails where username = '" + LoginModel.Username + "' And IP = '" + Request.ServerVariables["REMOTE_ADDR"] + "')" ); But I get the following error: Only one expression can be specified in the select list when the subquery is not introduced with EXISTS . How can I solve this problem? mortb Try this: Select Id, Salt, Password, BannedEndDate, (Select Count(*) From LoginFails Where username = '" +