婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > set rs=conn.execute,set rs=server.createobject(“ADODB.recordset”)的性能對(duì)比

set rs=conn.execute,set rs=server.createobject(“ADODB.recordset”)的性能對(duì)比

熱門標(biāo)簽:遼寧銀行智能外呼系統(tǒng) 海南銀行智能外呼系統(tǒng)商家 電銷機(jī)器人違法了嗎 遼寧正規(guī)電銷機(jī)器人 辰溪地圖標(biāo)注 姜堰電銷機(jī)器人 許昌智能電銷機(jī)器人公司 澳大利亞城市地圖標(biāo)注 上海浦東騰訊地圖標(biāo)注位置

經(jīng)常用asp的同行,可能會(huì)建議用set rs=conn.execute(sql)來(lái)代替set rs=server.createobject(“ADODB.recordset”):rs.open conn,sql,1,1。還有一些同行更提出了用set rs=conn.execute(sql):res=rs.getRows(100)來(lái)優(yōu)化ASP程序。其實(shí)在沒有做此實(shí)驗(yàn)前,我也是很相信這種方法的。實(shí)際效果果真如此嗎?經(jīng)過(guò)一番測(cè)試,我發(fā)現(xiàn)結(jié)果遠(yuǎn)非如此,set rs=server.createobject(“ADODB.recordset”)的方法比set rs=conn.execute的方法快4~5倍。這個(gè)結(jié)果您信嗎?不信,更我來(lái)一起做這個(gè)測(cè)試。

數(shù)據(jù)說(shuō)明真相。首先創(chuàng)建一個(gè)多記錄的數(shù)據(jù)庫(kù)。

set conn=createobject("adodb.connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source=E:\labs\miaoqiyuan.cn\g.mdb"
do while conn.execute("select count(id) from site")(0)1000000
	conn.execute("insert into site(sitename,siteadmin,siteurl,sitekey) values('苗啟源','http://localhost/app_login/','http://www.miaoqiyuan.cn','e10adc3949ba59abbe56e057f20f883e')")
loop

經(jīng)過(guò)幾個(gè)小時(shí)的運(yùn)行,我得到了一個(gè)有63萬(wàn)多條記錄的數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)大小為99.7MB(測(cè)試數(shù)據(jù)庫(kù)下載地址rs-execute-test.rar)。

為了保證數(shù)據(jù)的真實(shí)性,我們用公共的頭部header.asp來(lái)保存數(shù)據(jù)庫(kù)連接字符串。footer.asp來(lái)保存運(yùn)行時(shí)間。

運(yùn)行環(huán)境,Windows 2003 Server SP2。IIS6.0,CPU E2200 2.2GHz,內(nèi)存2Gx2。硬盤300G SATA+80G ATA。

公共頭部:header.asp

%
startTme=timer()
set conn=server.createobject("ADODB.connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source="server.mappath("g.mdb")
%>

公共底部:footer.asp

hr />總共用時(shí): %=(timer()-startTme)*1000%>毫秒

測(cè)試方法:以三種方式,每頁(yè)100條記錄。同時(shí)讀取第6000頁(yè)到6099頁(yè)的記錄共一萬(wàn)條,并測(cè)出運(yùn)行時(shí)間。

test1.asp,采用set rs=server.createobject(“ADODB.recordset”)的方法。

 %
for k=0 to 100
	response.write "br />br />第"(6000+k)"頁(yè)hr />"

	set rs=server.createobject("adodb.recordset")
	rs.open "select * from site",conn,1,1
	rs.pagesize=100
	rs.absolutepage=6000+k
	i=0
	do while not rs.eof and i100
		i=i+1
		response.write rs("id")":"rs("sitename")"br />"vbCrlf
		rs.movenext
	loop
	rs.close
	set rs=nothing

next
%>

test2.asp 采用set rs=conn.execute()的方法

 %
for k=0 to 100
	response.write "br />br />第"(6000+k)"頁(yè)hr />"

	set rs=conn.execute("select * from site")
	rs.movefirst
	rs.move (6000+k)*100
	i=0
	do while not rs.eof and i100
		i=i+1
		response.write rs("id")":"rs("sitename")"br />"vbCrlf
		rs.movenext
	loop
	rs.close
	set rs=nothing

next
%>

至于getRows,這種方法只能算是返回結(jié)果的優(yōu)化,并不能算是一種方法。我們采用兩種返回結(jié)果的方式測(cè)試。test3.asp采用set rs=server.createobject(“ADODB.recordset”)的方法,test4.asp采用set rs=conn.execute(sql)的方法

 %
for k=0 to 100
	response.write "br />br />第"(6000+k)"頁(yè)hr />"

	set rs=server.createobject("adodb.recordset")
	rs.open "select * from site",conn,1,1
	rs.pagesize=100
	rs.absolutepage=6000+k
	res=rs.getRows(100)
	rs.close
	set rs=nothing
	for i=0 to 99
		response.write res(0,i)":"res(1,i)"br />"vbCrlf
	next

next
%>
 %
for k=0 to 100
	response.write "br />br />第"(6000+k)"頁(yè)hr />"

	set rs=conn.execute("select * from site")
	rs.movefirst
	rs.move (6000+k)*100
	res=rs.getRows(100)
	rs.close
	set rs=nothing
	for i=0 to 99
		response.write res(0,i)":"res(1,i)"br />"vbCrlf
	next

next
%>

下面是我的測(cè)試結(jié)果:

文件名 test1.asp test2.asp test3.asp test4.asp
第一次測(cè)試 4281.25毫秒 20656.25毫秒 4281.25毫秒 18671.88毫秒
第二次測(cè)試 4234.375毫秒 25171.88毫秒 4312.5毫秒 13781.25毫秒
第三次測(cè)試 4328.125毫秒 20031.25毫秒 4234.375毫秒 19093.75毫秒

為什么會(huì)出現(xiàn)這種結(jié)果呢?set rs=conn.execute(sql),set rs=server.createobject(“ADODB.recordset”)為什么為相差這么多?對(duì)比一下test1.asp、test3.asp與test2.asp、test4.asp,除了返回結(jié)果的方式不同,還有一處就是rs.move。難道是這個(gè)原因?把test3.asp的代碼稍微修改一下。存為test5.asp。

 %
for k=0 to 100
	response.write "br />br />第"(6000+k)"頁(yè)hr />"

	set rs=server.createobject("adodb.recordset")
	rs.open "select * from site",conn,1,1
	rs.movefirst
	rs.move (6000+k)*100
	res=rs.getRows(100)
	rs.close
	set rs=nothing
	for i=0 to 99
		response.write res(0,i)":"res(1,i)"br />"vbCrlf
	next

next
%>

經(jīng)過(guò)測(cè)試,test5.asp能比test3.asp快0.1~0.2秒,如果讀取100條數(shù)據(jù),這點(diǎn)差距可以忽略不計(jì)。

由此可見:set rs=conn.execute的方式確實(shí)比set rs=server.createobject(“ADODB.recordset”)方式慢,在學(xué)校的時(shí)候,老師教的一般都是set rs=server.createobject(“ADODB.recordset”)的方法,真正工作室,學(xué)習(xí)所謂的高手set rs=conn.execute優(yōu)化的方法,結(jié)果最終發(fā)現(xiàn),而鄙視用老師教的方法寫程序的同行,最終發(fā)現(xiàn)還是老師教的速度快,而且set rs=server.createobject(“ADODB.recordset”)的方法比set rs=conn.execute的方法快4~5倍。囧。。。。

難道set rs=conn.execute就一無(wú)是處了嗎?在數(shù)據(jù)插入方面,兩者的差別有多大呢?

下面是其他網(wǎng)友的補(bǔ)充

沒有可比性,為什么非要比呢?
set rs=conn.execute()
rs.getrows()
這種方法一般用在數(shù)據(jù)量少的情況下,比如說(shuō)只有幾十幾百條數(shù)據(jù)的情況下,它只讀一次數(shù)據(jù)庫(kù),然后把結(jié)果存入一個(gè)二維數(shù)組中,在這之后的操作就不需要數(shù)據(jù)庫(kù),而是直接對(duì)內(nèi)存中的數(shù)據(jù)進(jìn)行操作了,速度絕對(duì)比用常規(guī)方法快,而且也節(jié)省資源。而用常規(guī)方法的話,數(shù)據(jù)庫(kù)操作得多少次?而在日常的情況下,一次讀取大量數(shù)據(jù)的情況是很少的,所以在很多地方都提到使用上面這種方法,就是緣于此。
還有上面比的分頁(yè),常規(guī)方法由于它自身的局限,對(duì)數(shù)據(jù)庫(kù)的操作很費(fèi)資源的,別說(shuō)只是快那零點(diǎn)幾秒,好的程序到最后拼的就是那零點(diǎn)幾秒。

rs.open sql,conn 與conn.execute(sql)的區(qū)別

什么時(shí)候用什么?
那就憑個(gè)人經(jīng)驗(yàn)積累的感覺了:
如果只需要一筆帶過(guò)的碰碰數(shù)據(jù)庫(kù),用execute
如果要對(duì)數(shù)據(jù)庫(kù)作比較龐雜的操作!則最好用 rs.open

rs.open sql,conn:如果sql是delete,update,insert則會(huì)返回一個(gè)關(guān)閉的記錄集,在使用過(guò)程中不要來(lái)個(gè)rs.close在文件最后再寫rs.close中間可以來(lái)多個(gè)記錄集rs1.open sql1,conn,最后一塊關(guān)閉記錄集:rs.close rs1.close

conn.execute(sql):如果sql是update,insert,delete則應(yīng)該使用conn.execute(sql)也可以不要括號(hào)conn.execute sql

如果sql是select語(yǔ)句則應(yīng)該使用set rs=conn.execute(sql)括號(hào)一定要,不能省略:這是因?yàn)関b的特性,帶返回值的調(diào)用必須加括號(hào),不帶返回值的調(diào)用可以不要括號(hào)。

1.conn.execute

sql="select * from admin where username='xiaozhu'"
set rs=conn.execute(sql)
'執(zhí)行完以后自動(dòng)關(guān)閉記錄集
'最后只需要關(guān)閉連接就可以了
conn.close
set conn=nothing

2.rs.open

set rs=server.createobject("adodb.recordset")
sql="select * from admin where username='xiaozhu'"
rs.open sql,conn,1,1
'可以自己設(shè)定一些參數(shù),即鎖定和游標(biāo)的移動(dòng)方式
'最后要關(guān)閉記錄集和連接
rs.close
set rs=nothing
conn.close
set conn=nothing

3.command.execute

sql="select * from admin where username='xiaozhu'"
set rs=command.execute(sql)

1.
set rs=conn.execute("如果是select語(yǔ)句") 得到的rs.recordcount=-1
rs.open sql,conn("sql為select語(yǔ)句") 得到的rs.recordcount為正常的記錄數(shù)


2.
rs.open是打開數(shù)據(jù)庫(kù) conn.execute 是執(zhí)行SQL指令
set rs=conn.execute(insert,update,delete)返回一個(gè)關(guān)閉了的記錄集
set rs=conn.execute(select)返回一個(gè)沒有關(guān)閉的記錄集

 3.
CONN.EXECUTE(SQL,RowsAffected,C)

  參數(shù)含義:

  SQL的值可以是SQL語(yǔ)句、表名、存儲(chǔ)過(guò)程名,也可以是數(shù)據(jù)提供者所能接受的任意字符串。為了提高性能,最好為C參數(shù)指定合適的值

  可選參數(shù)RowsAffected將返回INSERT、UPDATE或DELETE查詢執(zhí)行以后所影響的數(shù)目。這些查詢會(huì)返回一個(gè)關(guān)閉的Recordset對(duì)象。

  一個(gè)SELECT查詢將返回RowsAffected值為-1并且返回帶有一行或多行內(nèi)容的打開的Recordset。

 4.
conn.execute sql適合于不需返回recordset對(duì)象時(shí)使用,比如下面的代碼:
sql="delete from enews where id="cstr(id)
conn.execute sql

如果需要返回recordset對(duì)象,則使用如下代碼:
sql="select from enews where id="cstr(id)
set rs = conn.execute(sql)

如果去掉execute(sql)這兒的括號(hào)(即為set rs = conn.execute sql),就會(huì)提示“語(yǔ)句未結(jié)束”這樣的錯(cuò)誤提示,我翻看了一下語(yǔ)法格式,發(fā)現(xiàn)有二種格式,詳解如下:

格式一:Connection對(duì)象名.Execute(SQL指令).
格式二:Connection對(duì)象名.Execute(數(shù)據(jù)表名)。
附:

set rs = conn.execute(sql) 
 
  是帶有返回值的,一般sql為查詢的時(shí)候使用。如 
  set rs = conn.execute("select * from ...") 
  當(dāng)然執(zhí)行insert into 和delete也是可以的 
  set rs = conn.execute("insert into table (f1,f2..") 
  但是要?jiǎng)?chuàng)建Recordset對(duì)象,占用服務(wù)器資源。在insert into, delete的時(shí)候我們一般不需要返回記錄集。所以我是這樣認(rèn)為的: 
 
  在使用查詢的時(shí)候,用 set rs = conn.execute("select * from table") 
  在插入和刪除時(shí)候,用 conn.execute("delete from table where ...") 
 
  第二種方式代碼簡(jiǎn)潔,不需要顯式地創(chuàng)建Recordset對(duì)象(但實(shí)際上好象是隱式創(chuàng)建的) 
 
  第二種方法還有一些簡(jiǎn)潔的寫法:如,最某表的記錄數(shù) 
 
  dim count 
  count = conn.execute(select count(*) from table)(0) 
  上面的語(yǔ)句等于 
  count = conn.execute(select count(*) from table).fields(0).value 
 
  綜上:區(qū)別在于set rs = conn.execute是顯示創(chuàng)建recordset對(duì)象,而conn.execute是隱式的。 
  能用conn.execute的時(shí)候就用conn.execute,好處有 
  一、代碼簡(jiǎn)潔 
  二、效率應(yīng)該有所提高

再摘引一下:(srnld(天涯))

形成記錄集的方法有三種 CONN.execute   rs.open   Command.execute 
  方法用法大大不通 
 
  通常 Set rs=CONN.execute(SQL) 
  或直接 rs=CONN.execute(SQL) 
 
  和   Set rs=Server.CreateObject("ADODB.Recordset") 
    rs.open SQL,CONN,0,1   或 rs.open SQL,CONN 
  這種情況 通常open比上一個(gè)性能要好那么一丁點(diǎn) 
  (   command對(duì)象更靈活,執(zhí)行范圍更廣) 
 
  使用 CONN.execute 可以不用關(guān)閉直接執(zhí)行下一個(gè) set rs=conn.execute(SQL) 
  但性能速度會(huì)大打折扣!! 
  大約要慢 2~5倍!!(這是我在msSQL循環(huán)1000次親自測(cè)試過(guò)的,不信你馬上自己測(cè)試),所以執(zhí)行下一個(gè) rs=conn.execute之前!!一定要關(guān)閉掉!是個(gè)好習(xí)慣! 
  使用單一對(duì)象的rs   rs.open在open下一個(gè)記錄集之前,必需要求顯示關(guān)閉,否則出錯(cuò),速度在SQL,CONN,0,1的情況下可前者基本一樣 
 
  所以我喜歡使用直設(shè)置一個(gè) CreateObject("adodb.recordser")(在不需要多個(gè)記錄集交錯(cuò)操作的情況下,多個(gè)也不礙是!) 
  然后從頭用到尾!!! 
  開門關(guān)門開門關(guān)門~~~~~咵踏咵踏~~~~ 
  最后一個(gè) set rs=nothing 化上句號(hào),爽! 
 
  更主要是 open提供非常靈活的操作數(shù)據(jù)庫(kù)元數(shù)據(jù)的非常多的屬性!! 
  打開百寶箱,金光燦燦什么都看見! 
  有很多情況下是非得用open來(lái)做的! 
  而conn.execute 想黑布下?lián)Q膠卷~~~偷偷摸摸~~非常單一!!! 
 
  比如: 
 
  rs1.open SQL1,conn,0,1 
  rs.open SQL,conn,1,3 
  if rs(0)0 then rs(0)=0 
  rs(1)=aaa 
  rs(2)=bbb 
  rs.update ' 更新記錄集寫到數(shù)據(jù)庫(kù) 
 
  rs.addnew '加一條新記錄 
  rs(0)=1 
  rs(1)=ddd 
  rs(2)=kkk 
  rs.update 
  id=rs(3)   rs(s) '取的字段是自動(dòng)編號(hào) 立即獲得新記錄的自動(dòng)編號(hào)id //這是非常常用的 
 
  rs1.addnew 對(duì)rs1添加關(guān)連使用id rs的新記錄 
  rs1("id")=id 
  rs1(1)=... 
  .. 
  rs1.update 
 
  rs1.close:set rs1=nothing 
  rs.close:set rs=nothing 
 
 
  上面的操作如果采用CONN.execute 則要用到四個(gè) CONN.execute 
 
  CONN.execute("update ..") 
  CONN.execute("insert into 表1:") 
  rs=CONN.execute("select 新的自動(dòng) id") 
  CONN.execute("insert into 表二") 
  那一種方法邏輯條理更好~~一目了然 
 
  ====================== 
 
  還有一個(gè)有趣的使用Recordset open記錄的方法!! 
  我想起來(lái)是有點(diǎn)費(fèi)解 
 
  Set rs=server.CreateObject("Adodb.recordset") 
  Set rs=server.CreateObject("Adodb.recordset") 
 
  rs.open SQL1,CONN 
  rs.open SQL2,CONN 
 
  '嘿嘿~~~這是同時(shí)設(shè)置同名的兩個(gè)對(duì)象來(lái)打開兩個(gè)記錄集,而且是可用的! 
  '只要取的列名合乎這兩個(gè)記錄集中元數(shù)據(jù) 
  '則正常操作!! 
  擴(kuò)展開來(lái) 
 
  Set rs=server.CreateObject("Adodb.recordset") 
  Set rs=server.CreateObject("Adodb.recordset") 
  Set rs=server.CreateObject("Adodb.recordset") 
  Set rs=server.CreateObject("Adodb.recordset") 
 
  rs.open SQL1,CONN 
  rs.open SQL2,CONN 
  rs.open SQL3,CONN 
  rs.open SQL4,CONN 
 
  這樣大于二個(gè)同名的 rs我還沒試過(guò)!! 
 
  感覺有點(diǎn)相當(dāng)與 SQL聯(lián)合查詢?cè)俅蜷_記錄集~~~ 
  以前我這樣用過(guò)!!應(yīng)該不是眼花!!

到此這篇關(guān)于set rs=conn.execute,set rs=server.createobject(“ADODB.recordset”)的性能對(duì)比的文章就介紹到這了,更多相關(guān)conn.execute與ADODB.recordset的對(duì)比內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:撫州 深圳 伊春 銅川 威海 崇左 西藏 晉城

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《set rs=conn.execute,set rs=server.createobject(“ADODB.recordset”)的性能對(duì)比》,本文關(guān)鍵詞  set,conn.execute,server.createobject,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《set rs=conn.execute,set rs=server.createobject(“ADODB.recordset”)的性能對(duì)比》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于set rs=conn.execute,set rs=server.createobject(“ADODB.recordset”)的性能對(duì)比的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    午夜精品视频一区| 国产精品夜夜嗨| 欧美疯狂做受xxxx富婆| 欧美日韩成人高清| 欧美无乱码久久久免费午夜一区| 欧美精品在欧美一区二区少妇| 精品乱码亚洲一区二区不卡| 精品国精品国产| 亚洲色欲色欲www在线观看| 五月婷婷色综合| 26uuu另类欧美| 久久久亚洲精品一区二区三区| 国产精品理论片| 日本欧美在线看| 日本免费新一区视频| 国产suv一区二区三区88区| 91美女片黄在线观看| 精品美女一区二区三区| 欧美性大战久久久| 精品久久久三级丝袜| 亚洲特黄一级片| 蜜臀a∨国产成人精品| www.日韩av| 91精品国产aⅴ一区二区| 国产精品短视频| 日本免费在线视频不卡一不卡二| av亚洲精华国产精华精| 国产美女一区二区三区| 在线观看av一区| 国产日韩成人精品| 日韩成人一区二区三区在线观看| 国产精品一级片在线观看| 欧美日韩精品三区| 成人免费在线观看入口| 国产精品系列在线观看| 九九视频精品免费| 欧美丰满嫩嫩电影| 亚洲男人的天堂网| 成人免费黄色在线| 中文字幕免费不卡在线| 九九国产精品视频| 日韩精品影音先锋| 男女性色大片免费观看一区二区 | 蜜桃精品在线观看| 欧美三级电影在线看| 国产精品亲子伦对白| 经典一区二区三区| 欧美成人综合网站| 麻豆精品国产91久久久久久| 91精品啪在线观看国产60岁| 天天色天天爱天天射综合| 亚洲成人免费视频| 国产精品久久久久久久久免费桃花 | 国产99久久久久| 岛国av在线一区| 国产亚洲污的网站| 亚洲成人先锋电影| 不卡的av网站| 国产精品久久久久久久裸模| 久久成人精品无人区| 欧美大片在线观看| 国产精品一卡二| 日韩欧美国产一区在线观看| 国产精品2024| 视频一区二区三区中文字幕| 久久久久久免费网| 日韩欧美国产成人一区二区| 久久久久久久网| 亚洲精品视频观看| 久久精品国产精品亚洲精品| 久久国产综合精品| 欧美日韩一区二区三区高清| 国产精品卡一卡二| 亚洲成av人**亚洲成av**| 国产精品综合av一区二区国产馆| 岛国一区二区在线观看| 宅男在线国产精品| 亚洲成人自拍一区| 色噜噜狠狠成人中文综合| 久久精品亚洲一区二区三区浴池 | 中文字幕欧美日韩一区| 日韩黄色免费网站| 欧美一区二区三区小说| 一区二区三区日韩精品视频| 成人黄色国产精品网站大全在线免费观看| 欧美一区二区三区日韩| 亚洲国产精品天堂| 日韩欧美三级在线| 美腿丝袜亚洲三区| 国产视频不卡一区| 不卡区在线中文字幕| 国产精品乱码一区二三区小蝌蚪| 国产精品一区一区三区| 精品国内片67194| 97精品视频在线观看自产线路二| 中文字幕av资源一区| thepron国产精品| 日本欧洲一区二区| 国产精品久久久久婷婷| 欧美日免费三级在线| 国产精品一品二品| 欧美色欧美亚洲另类二区| 日韩精品亚洲专区| 欧美变态口味重另类| 成人av一区二区三区| 亚洲国产精品尤物yw在线观看| 欧美裸体一区二区三区| 综合色天天鬼久久鬼色| 日韩一区二区在线观看| www.欧美.com| 美女视频网站黄色亚洲| 精品亚洲aⅴ乱码一区二区三区| 91麻豆精品国产无毒不卡在线观看| 亚洲一区在线看| 久久综合一区二区| 91亚洲精品一区二区乱码| 国产永久精品大片wwwapp| 久久久综合视频| 88在线观看91蜜桃国自产| 高清国产午夜精品久久久久久| 午夜精品久久久久久久久久 | 午夜欧美视频在线观看 | 欧美性欧美巨大黑白大战| 丁香激情综合五月| 91在线观看视频| 欧美日韩免费在线视频| 欧美无乱码久久久免费午夜一区| 成人黄色免费短视频| 狠狠色丁香九九婷婷综合五月| 精品在线播放免费| 不卡的av中国片| 欧美日本视频在线| 欧美一级二级在线观看| 久久精品亚洲精品国产欧美 | 91黄色小视频| 欧美伦理影视网| 久久夜色精品一区| 国产欧美一区二区精品性色| 亚洲人成网站在线| 另类小说色综合网站| 99vv1com这只有精品| 欧美一区二区在线免费观看| 国产精品入口麻豆原神| 日韩电影网1区2区| 欧美三级日本三级少妇99| 国产亚洲人成网站| 亚洲欧洲综合另类| 国产在线观看一区二区| 91官网在线观看| 亚洲视频一区二区免费在线观看| 亚洲一区二区三区视频在线 | 亚洲天堂成人在线观看| 精品一区二区在线观看| 欧美男生操女生| 国产精品家庭影院| 粉嫩一区二区三区性色av| 欧美在线999| 国产精品久久午夜夜伦鲁鲁| 极品尤物av久久免费看| 精品免费99久久| 成人美女视频在线看| 中文字幕一区二区三区四区| 岛国精品在线播放| 1024成人网| 欧美军同video69gay| 蜜桃精品视频在线观看| 91麻豆精品国产综合久久久久久| 天堂va蜜桃一区二区三区| 欧美成人一区二区三区| 国产精品91xxx| 亚洲精品videosex极品| 日本韩国一区二区| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美三级电影一区| 国产成人亚洲精品青草天美| 一区二区三区精品| 一区二区激情小说| 激情av综合网| 国产剧情av麻豆香蕉精品| 久久精品亚洲精品国产欧美| 欧美日韩一级片在线观看| 午夜精品一区二区三区电影天堂 | 亚洲欧美激情一区二区| 欧美性色黄大片| 成人性视频网站| 精品制服美女久久| 天堂精品中文字幕在线| 综合精品久久久| 成人欧美一区二区三区小说| 国产精品视频第一区| 久久理论电影网| 欧美经典一区二区| 亚洲精品在线一区二区| 欧美一区二区免费观在线| www.亚洲免费av| 成人深夜福利app| 风间由美一区二区三区在线观看| 蜜臀av一级做a爰片久久| 亚洲午夜一区二区三区| 亚洲成av人片一区二区梦乃|