使用聚合查詢(xún)
db.projects.aggregate([{
$lookup:{
from:'users',
localField: 'userId',
foreignField: '_id',
as: 'userinfo'
}
},{
$match:{
'userinfo.sex': '0'
}},{"$unwind": "$remark"}])問(wèn)題原因:缺少兩個(gè)PHP的擴(kuò)展組件mbstring和gd。
解決方式:
嗯,其實(shí)一兩天還是蠻常見(jiàn)的,不過(guò)當(dāng)然是越快解決越好了。而且碰到這種問(wèn)題,最好如果有報(bào)錯(cuò)先將報(bào)錯(cuò)信息,以及相關(guān)代碼放上來(lái)才方便大家?guī)湍悴檎覇?wèn)題。關(guān)于外鍵這塊,我涉及的也不多(不是不多,而是根本沒(méi)有實(shí)操過(guò),一般都是通過(guò)程序控制 sql 。)相關(guān)鏈接
前面啰嗦得太多,我再把問(wèn)題精簡(jiǎn)一下:
如何設(shè)計(jì)詞索引,使得 —— 若 將來(lái) 改進(jìn)了分詞算法,在不重建索引的情況下,搜索結(jié)果也能改進(jìn)?
例如,當(dāng)詞典沒(méi)有“區(qū)塊鏈”一詞時(shí),搜索結(jié)果可能包含大量“區(qū)塊”和“鏈”兩個(gè)詞的文檔;當(dāng)把“區(qū)塊鏈”加入詞典后,在不重建索引的情況下,立即就能找到包含“區(qū)塊鏈”的文檔,排名在包含“區(qū)塊”和“鏈”兩個(gè)詞的文檔前面。
The server is writing a packet to the network. This state is called Sending to client as of MySQL 5.7.8.
ref: https://dev.mysql.com/doc/ref...
本地select 超過(guò)1S,推測(cè)你每次select出的數(shù)據(jù)集比較大,本地的packet設(shè)置得過(guò)小
在Mysql執(zhí)行下
show global variables like "max_allowed_packet"
解決方案:
max_allowed_packet
大部分二維碼,要么里面是個(gè) 鏈接的字符串,要么就是鏈接的一些參數(shù),你在拿到這個(gè)串之后,肯定要做一些 動(dòng)作,比如轉(zhuǎn)義,跳轉(zhuǎn)之類(lèi)的操作。你要做什么,要你自己來(lái)實(shí)現(xiàn)。想清楚你要什么,然后怎么實(shí)現(xiàn),一步一步列清楚,這才是寫(xiě)程序需要的思維。
三張表,任務(wù)表、用戶(hù)表、關(guān)聯(lián)表,負(fù)責(zé)多對(duì)多關(guān)系;
任務(wù)表中加入一個(gè)發(fā)布人字段,負(fù)責(zé)一對(duì)多
哪個(gè)效率高,看一下執(zhí)行時(shí)間就可以了么,然后explain一下看看。
說(shuō)點(diǎn)題外話(huà):當(dāng)你覺(jué)得你同事屬于那種死腦筋,完全堅(jiān)持自己想法的人的時(shí)候,或許他也這么想你呢,為什么一定要讓別人按你的想法寫(xiě)代碼呢?除非遇到了很?chē)?yán)重的效率問(wèn)題
一般來(lái)說(shuō),mysql的兩個(gè)表的連接是先找出A表的一條記錄,然后根據(jù)連接條件找出B表中的所有記錄,然后再回到A表找到下一條記錄....
但是你的情況是根據(jù)B的某個(gè)字段排序,如果按照我上面說(shuō)的即使在B的排序字段上加了索引那么也不會(huì)用到的。Mysql自身有查詢(xún)優(yōu)化器的,如果單純的是你說(shuō)的業(yè)務(wù)邏輯,有可能查詢(xún)優(yōu)化器會(huì)改變你的連接順序(變成B連接A),這樣就變成在B中找到一條記錄,然后再去A表找記錄。如果這個(gè)時(shí)候再在B表上建索引就會(huì)用到。
具體的情況你要用explain看一下mysql的查詢(xún)計(jì)劃才好做優(yōu)化。
在這里再啰嗦一句,你也可以在你的連接字段和排序字段上建立一個(gè)“聯(lián)合索引”。這樣相對(duì)分開(kāi)建索引效率會(huì)高一些。但是要遵循向左原則
你命令行前面多了個(gè)#
老哥首先你的SID沒(méi)有問(wèn)題 ,排查思路:
2.我是昨天研究的 ,你的pandas 學(xué)習(xí)了 pd.read_sql(sql,conn) 這個(gè)寫(xiě)法待驗(yàn)證 ,是我get 到的點(diǎn)
3.我遇到的問(wèn)題是在ubuntu用pycharm里寫(xiě)代碼無(wú)法連接oracle數(shù)據(jù)庫(kù) ,但pycharm 自帶的工具可以連接,在shell里也可以正常連接 最后也沒(méi)有找到原因 一直報(bào)錯(cuò)說(shuō)是不是64位客戶(hù)端 ,但我所有的包都是64位的,待解決。。。
4.最后附上干貨,我的連接demo 以及將數(shù)據(jù)寫(xiě)入到csv文件,僅供參考,老哥記得回復(fù)我,維護(hù)社區(qū)秩序。。
#!/usr/bin/python
import cx_Oracle as oracle
import csv
def oraclesql(cursor):
#fp = open('D:/1.sql')
#fp_sql = fp.read()
cursor.execute("select * from emp")
data = cursor.fetchall()
#print (list(data))
return list(data)
def write_to_csv(content):
with open('oracle.csv','a') as csvfile:
filename = ['empno','ename','job','mgr','hiredate','sal','comm','deptno']
#filename = ['LOTS','ORG_ID','YEAR_TIME','NAME_PATIENT','GENDER','BIRTHDAY','AGE','RESIDENT_ID','HUKOU_ADDRESS']
write = csv.writer(csvfile,delimiter=',')
# write.writeheader()
write.writerows([content])
if __name__ == '__main__':
ipaddr = "127.0.0.1"
username = "scott"
password = "scott"
oracle_port = "1521"
oracle_service = "orcl"
try:
db = oracle.connect(username+"/"+password+"@"+ipaddr+":"+oracle_port+"/"+oracle_service)
# 將異常捕捉
except Exception as e:
print(e)
else:
cursor = db.cursor()
data = oraclesql(cursor)
for i in data:
text = list(i)
#print(text)
write_to_csv(text)
cursor.close()
db.close()
The recommended namespace for passing information through middleware and to your frontend views.
body和原來(lái)一樣沒(méi)變過(guò),只說(shuō)說(shuō)state。
為什么會(huì)有state,因?yàn)槲覀儠?huì)有到很多中間件用于存儲(chǔ)某些昨天,比如登陸或者權(quán)限驗(yàn)證,在此之前,我們會(huì)報(bào)錯(cuò)到ctx的一個(gè)自定義屬性上比如ctx.locals.isLogin,但是我們總是要寫(xiě)類(lèi)似這樣的代碼
app.use(async ctx => {
ctx.locals = ctx.locals || {};
});
現(xiàn)在官方提供了ctx.state用于報(bào)錯(cuò)中間件的狀態(tài)數(shù)據(jù)。
可以在數(shù)據(jù)庫(kù)表里面加一個(gè)字段,標(biāo)識(shí)一下;
或者把查過(guò)的數(shù)據(jù)主鍵放進(jìn)redis的set里面,每次隨機(jī)查出來(lái)后過(guò)濾一下
-h IP:是通過(guò)TCP/IP連接方式連接
-h localhost: 是通過(guò)socket連接方式連接
可以通過(guò)修改配置文件
protocol=tcp # 強(qiáng)制使用TCP/IP 連接
skip-networking #強(qiáng)制使用socket來(lái)連接。
想了一下目前還是在副表中查詢(xún)本周的記錄,如果記錄等于7條表示已經(jīng)本周簽到了7天,實(shí)在想不到更好的方法了。
哈哈,
開(kāi)PAC模式哇。 然后設(shè)置 PAC 和 Global 的快捷鍵。 以及開(kāi)關(guān)Shadowsocks的快捷鍵。
如此也可來(lái)去自如~
其他選項(xiàng)菜單-打開(kāi)配置文件-vhost-ini
Options -Indexes +FollowSymLinks +ExecCGI改成 Options +Indexes +FollowSymLinks +ExecCGI
再重啟試試
err的翻譯是
The API configuration file does not exist
API配置文件不存在
我建議你直接找后端小伙伴解決這個(gè)問(wèn)題
前端頁(yè)面的這個(gè)分頁(yè)功能的數(shù)據(jù)庫(kù)固定嗎?
如果固定的話(huà),可以在 Model 里面加上 __bind_key__ = 'db01'
如果不固定的話(huà),換個(gè)思路,根據(jù)你上面的 query 自己實(shí)現(xiàn)一個(gè)paginate()
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專(zhuān)業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。