1

jquery datatable で使用する MS SQL Server のページネーションを行うとき、次のような単純な sp を記述します

create PROCEDURE [dbo].[Get_SomeData] (
@startRowIndex BIGINT, @maximumRows BIGINT ,@sSearch VARCHAR(MAX),@total INT OUTPUT
) 
AS 


DECLARE @temp TABLE(RowRank BIGINT,custid BIGINT,names VARCHAR(500))

INSERT INTO @temp
   SELECT ROW_NUMBER() OVER (ORDER BY custid) AS 
  RowRank,custid,names FROM dbo.SomeTable WHERE   (names LIKE '%'+@sSearch+'%'   )

   SELECT @total=COUNT(custid) FROM @temp

 SELECT *  FROM @temp  WHERE  RowRank > @startRowIndex 
 AND RowRank <= (@startRowIndex + @maximumRows)

これにより、@startRowIndex をインクリメントすることで、データのページングが簡単になります。しかし、Cassandra データベースと fluentcassandra のような ac# クライアント (または任意の c# クライアント ライブラリ) で同じページネーションを実現する方法

4

1 に答える 1

1

Cassandraのページ付けは、「次の結果セットを最後に表示された値で開始する」と言うことで実行されます。これは、数値のオフセット/制限よりも効率的です。http://blog.dynatrace.com/2011/12/05/pagination-with-cassandra-and-what-we-can-learn-from-it/を参照してください。

于 2012-06-22T00:27:33.453 に答える