Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 数据库管理 » 启动并连接到数据库 » 运行数据库服务器 » 一些常见的选项

 

SQL Anywhere 中的线程

要理解 SQL Anywhere 线程模型,还必须了解线程和请求处理的基本术语和概念:

  • 请求   请求是一种通过连接发送到数据库服务器的工作单元,如查询或 SQL 语句。请求的生存期始于数据库服务器首次接收请求时,终于返回最后一条结果、关闭游标或取消请求时。

  • 任务   任务是一种在数据库服务器内执行的活动单元,是服务器调度的最小工作单元。在数据库服务器内,每个用户请求至少会成为一项任务,如果涉及查询内并行机制,则可能会成为更多项任务。除用户请求外,数据库服务器还可以调度其自己的任务来执行日常内部整理工作,如运行清理程序或处理计时器。可并发执行的最大活动任务数由 -gn 选项来设置。如果到达数据库服务器的任务数量超过了可以并发处理的任务数量,则会将多出的任务排入队列中,等待执行。如果由于某种原因(如等待锁或等待 I/O 完成)需要在对活动任务或已开始处理的任务进行处理的过程中将其阻塞,则该任务仍将被视为活动任务。因此,它会减少 -gn 选项值所指定的上限。

  • 线程   线程是一种表示应用程序内正在执行中的一连串控制的操作系统构造。每个操作系统进程(包括数据库服务器)都至少由一个线程来执行,可能的情况下会由许多线程来执行。操作系统在应用程序外调度线程,应用程序的所有执行操作最终都由其线程来执行。SQL Anywhere 数据库服务器内的任务在操作系统线程中执行。启动时,SQL Anywhere 会创建固定数量的线程,这些线程由 -gtc 选项控制(在 Windows 和 Linux 上),或由 -gn 选项控制(在 Unix 上)。

另请参见

Unix 上的任务
Windows 和 Linux 上的任务
控制线程行为
设置数据库服务器的进程并发水平